5.0.0 • Published 7 years ago
fetch.io v5.0.0
fetch.io
Extends the whatwg fetch
- fetch spec api,
makes it easier to use. Both node & browser supported.
- install
npm install fetch.io
- import
import Fetch from 'fetch.io'
- for TypeScript users
npm install @types/fetch.io
APIs
- .config() - set options
- .set() - set http header
- .type() - set content type
- .send() - send body data
- .query() - set query string
.append() - append form data
.text() - convert response body to
string
- .json(strict = true) - convert response body to
object
(strict JSON mode default)
Options
- beforeRequest -
Function
, a pre-request hook function, returningfalse
will cancel the request - afterResponse -
Function
, a post-response hook function - afterJSON -
Function
, add a handler for.json()
, to check the response data - prefix -
String
, url prefix - Other whatwg-fetch options
Usage
const request = new Fetch({
prefix: 'http://example.com/api/v1'
})
- default options
{
prefix: '',
mode: 'cors',
cache: 'no-cache',
credentials: 'include'
}
request
.get(path)
.config({
credentials: 'omit'
})
.query({
type: 1
})
.query({
name: 'hello'
})
.then(res => {
// fetch response
})
.catch(err => {
// ...
})
- get json body
request
.get(path)
.json()
.then(body => {
// response body
})
.catch(err => {
// ...
})
- get text body
request
.get(path)
.text()
.then(body => {
// response body
})
.catch(err => {
// ...
})
- send json
request
.post(path)
.send({
type: 1
})
.send({
name: 'hello'
})
.then(res => {
// fetch response
})
.catch(err => {
// ...
})
- send urlencoded
request
.post(path)
.send('type=1')
.send('name=hello')
.then(res => {
// fetch response
})
.catch(err => {
// ...
})
- send urlencoded
request
.post(path)
.type('form')
// equal to:
// .type('urlencoded')
// equal to:
// .set('content-type', 'application/x-www-form-urlencoded')
.send({
type: 1,
name: 'hello'
})
.then(res => {
// fetch response
})
.catch(err => {
// ...
})
- set header
request
.post(path)
.set({
'content-type': 'application/json'
})
.send({
name: 'hello'
})
.then(res => {
// fetch response
})
.catch(err => {
// ...
})
- send form (multipart) (upload file)
request
.post(path)
.append('filename', 'user.png')
.append('file': document.querySelector('input[type="file"]')files[0])
.append({reason: 'set user avatar'})
.then(res => {
// fetch response
})
.catch(err => {
// ...
})
License
MIT
5.0.0
7 years ago
4.1.2
8 years ago
4.1.1
8 years ago
4.1.0
8 years ago
4.0.0
8 years ago
3.1.4
9 years ago
3.1.3
9 years ago
3.1.2
9 years ago
3.1.1
9 years ago
3.1.0
9 years ago
3.0.0
9 years ago
2.0.0
9 years ago
1.4.0
9 years ago
1.3.0
9 years ago
1.2.0
10 years ago
1.1.0
10 years ago
1.0.0
10 years ago
0.4.0
10 years ago
0.3.0
10 years ago
0.2.0
10 years ago
0.1.0
10 years ago