request
http request based on fetch
api
Installation
npm i @cqmbr/request
Use
import Request from '@cqmbr/request'
const request = new Request(options)
API
new Request(options)
create a request instance
options
:
options.baseURL
: base url
- options.headers
: default headers
- options.beforeRequest
: will be called before request, you can handle with request
config and return a new config, support Promise
- options.afterRequest
: will be called after request, you can handle with response
and return it, support Promise
request.request(url, requestOptions)
basic http request
url
:string
orobject
, if it'sobject
, it will be treated asrequestOptions
, seerequestOptions
requestOptions
: seerequestOptions
request.get(url, requestOptions): Promise<any>
request use GET
request.post(url, requestOptions): Promise<any>
request use POST
request.put(url, requestOptions): Promise<any>
request use PUT
request.patch(url, requestOptions): Promise<any>
request use PATCH
request.del(url, requestOptions): Promise<any>
request use DELETE
requestOptions
request config
url
:string
resource url, it will be automatically added afterbaseURL
if you set it in constructor, supportparams
query
:object
query params, it will be automatically added afterurl
body
:object
request body, if request method isGET
, it's same asquery
params
:object
url params will be automatically replaced based onparams
, such as/{id}
will be replaced byparams.id
headers
:object
request headers
TODO
- x unit test
- flow support