simple-post-json

0.8.0 • Public • Published

postJSON

Dependencies devDependencies npm License Code Quality: Javascript Total Alerts

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.

Readme

Keywords

Package Sidebar

Install

npm i simple-post-json

Weekly Downloads

17

Version

0.8.0

License

MIT

Unpacked Size

39 kB

Total Files

17

Last publish

Collaborators

  • brettz9