Thin wrapper over node-fetch. Sister libray of @asd14/fetch-browser.
npm i @asd14/fetch-node
import { set } from "@asd14/fetch-node" set({ // Throws if not set and using relative paths baseURL: "http://localhost", })
import { set } from "@asd14/fetch-node" set({ // Persistent headers headers: { // Library defaults "accept": "application/json", "content-type": "application/json", // Set JWT for authorized requests authorization: "signed-payload-with-base64-over", }, })
There is no built-in way to handle query params but you can set a custom transform function.
import { set } from "@asd14/fetch-node" import { stringify } from "qs" set({ // Throws if query params passed and no stringify function defined queryStringifyFn: source => stringify(source, { allowDots: true, encode: false, arrayFormat: "brackets", strictNullHandling: true, }) })
import { GET } from "@asd14/fetch-node" const myIP = await GET("https://api.ipify.org", { query: { format: "json" } }) // => {"ip":"213.127.80.141"}
See the releases section for details.