simple-post-json
v0.8.0
Published
Simple function module for Node or the browser to send (and retrieve) JSON via HTTP POST.
Downloads
6
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.