global-fetch

0.2.2 • Public • Published

global-fetch

Promise-based HTTP client built on top of the global fetch API.

Installing

yarn add global-fetch
 
# or via npm 
npm install --save global-fetch

Examples

import http, { get, post } from 'global-fetch';
 
(async () => {
  const query = { userId: 1 };
  try {
    await get('http://jsonplaceholder.typicode.com/users', { query });
  } catch (e) {}
 
  // or all requests with the same server url
  const request = http('http://jsonplaceholder.typicode.com');
  await request.get('/users');
  await request.post('/post', {
    json: { title: 'foo', body: 'bar', userId: 1 }
  });
})();

By default, GlobalFetch resolves the response data as JSON. If any other formats you want to yield, do it like below.

// Resolve response type as text
await get('./index.html', { responseType: 'text' });
 
// If response type is falsy value like `null`,
// response will be resolved as original data
await get('./index.html', { responseType: null });
// request as query string when method is GET or HEAD
const query = { user_id: 1 };
await get('/users', { query }); // /users?user_id=1
 
// post JSON data
const json = { name: 'jiraiyame', age: 27 };
await post('/users', { json });
 
// post form data
const form = document.querySelector('form');
await post('/users', {
  body: new FormData(form),
});
 
// post data via url encoded request
const form = { foo: 1, bar: [1, 2, 3] };
await post('/users', { form });

Interface

class GlobalFetch

Constructor

constructor(baseUrlstring, config?: RequestInit);

setBaseUrl(url)

  • url <string> the API host of the resource

setHeader(name, value)

  • name <string> header field name
  • value <any> header field value

setHeaders(headers)

  • headers <Object> custom header fields

setToken(auth)

  • auth <string> the credentials of the auth
  • auth: { token, type }
    • type <string> the authentication scheme. Defaults to Bearer
    • token <string> the credentials of the auth

setResponseType(responseType)

  • responseType <string | null> the response data type will respond. Defaults to json

get(url[, options])

post(url[, options])

put(url[, options])

patch(url[, options])

del(url[, options])

head(url[, options])

options(url[, options])

License

MIT @ jiraiyame

Package Sidebar

Install

npm i global-fetch

Weekly Downloads

442

Version

0.2.2

License

MIT

Last publish

Collaborators

  • zhengzong.fu