Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

fetch.io

Package Overview
Dependencies
Maintainers
3
Versions
21
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fetch.io

extends the whatwg fetch api, makes it easier to use

  • 5.0.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
42
increased by100%
Maintainers
3
Weekly downloads
 
Created
Source

NPM version Build status Test coverage License Dependency status

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, returning false 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

Keywords

FAQs

Package last updated on 15 May 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc