A collection of addons for the fetch API.
npm install fetch-addons
import * as addons from 'fetch-addons';
Serializes a Request
object to a cURL command. Handy for logging and replaying failed requests.
import { toCurl } from 'fetch-addons';
// fetch(input, init)
toCurl(input, init);
toCurl(request);
// curl --url 'https://example.com' \
// --request 'POST' \
// --header 'content-type: application/json' \
// --data '{"foo":"bar"}'`
Get a Request
object from RequestInit
.
import { getRequest } from 'fetch-addons';
// fetch(input, init);
const request = getRequest(input, init);
const request = getRequest(request);
Get a Headers
object from HeadersInit
.
import { getHeaders } from 'fetch-addons';
// fetch(input, init);
const headers = getHeaders(init.headers);
fetch('https://example.com').then((response) => {
const headers = getHeaders(response.headers);
});
Delete empty headers from a Headers
object.
import { deleteEmptyHeaders } from 'fetch-addons';
const request = new Request('https://example.com', {
headers: {
'content-type': 'application/json',
'x-1': '',
'x-2': 'undefined',
'x-3': 'null',
},
});
deleteEmptyHeaders(request.headers);
// Headers { 'content-type': 'application/json' }