site/node_modules/sync-fetch
2024-10-14 08:09:33 +02:00
..
browser.js updated shit 2024-10-14 08:09:33 +02:00
bundle.js updated shit 2024-10-14 08:09:33 +02:00
index.js updated shit 2024-10-14 08:09:33 +02:00
LICENSE updated shit 2024-10-14 08:09:33 +02:00
package.json updated shit 2024-10-14 08:09:33 +02:00
README.md updated shit 2024-10-14 08:09:33 +02:00
shared.js updated shit 2024-10-14 08:09:33 +02:00
worker.js updated shit 2024-10-14 08:09:33 +02:00

sync-fetch

Synchronous wrapper around the Fetch API. Uses node-fetch under the hood, and for some input-parsing code and test cases too.

npm

Install

npm install sync-fetch

Use

const fetch = require('sync-fetch')

const metadata = fetch('https://doi.org/10.7717/peerj-cs.214', {
  headers: {
    Accept: 'application/vnd.citationstyles.csl+json'
  }
}).json()
// json(), arrayBuffer(), text() and buffer() supported

Limitations

Node.js

  • Does not support Streams (or FormData) as input bodies since they cannot be read or serialized synchronously
  • Does not support Blobs as input bodies since they're too complex
  • Does not support the non-spec agent option as its value cannot be serialized

Browser

  • Does not support most options, since XMLHttpRequest is pretty limited. Supported are:
    • method
    • body
    • headers
    • credentials (but not omit)
    • (Non-spec) timeout
  • CORS limitations apply, of course (note they may be stricter for synchronous requests)