simple-post-json
v0.8.0
Published
Simple function module for Node or the browser to send (and retrieve) JSON via HTTP POST.
Downloads
34
Readme
postJSON
Simple function module for Node or the browser to send (and retrieve) JSON via HTTP POST.
Installation
npm install simple-post-json
API
const json = await postJSON(url, bodyObject, callback, errBack);
...or...
const json = await postJSON({
url, // Only required argument
body: bodyObject, // JSON object
headers, // `fetch` headers subobject: https://developer.mozilla.org/en-US/docs/Web/API/Headers/Headers
credentials, // `fetch` credentials: "omit", "same-origin", or "include"
callback, // No need if using the promise `then` result
errBack, // No need if catching errors in the promise
status: statusCallback, // See below
retrieval: retrievalCallback // See below
});
Only the url
argument is required.
The headers
object defaults to:
{
"Accept": "application/json",
"Content-Type": "application/json"
}
The credentials
string defaults to "same-origin". Other allowable values
are "omit" and "include".
The status
argument defaults to the following function (available as
postJSON.status
):
function status (response) {
if (response.status >= 200 && response.status < 300) {
return Promise.resolve(response);
}
return Promise.reject(new Error(response.statusText));
}
The retrieval
argument defaults to the following function (available as
postJSON.retrieval
), which is what postJSON
will resolve to:
function retrieval (response) {
return response.json();
}
And if the global fetch
is not available, postJSON.fetch
will be checked.
This value is auto-supplied for Node (as "whatwg-fetch"),
and if you need fetch
in the browser, e.g., for Safari, you can include a
script to the polyfill.
Notes
See also getJSON.