This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
admin-panel/graphql-types/node_modules/sync-fetch/README.md

40 lines
1.3 KiB
Markdown
Raw Normal View History

2021-03-09 18:44:13 +00:00
# sync-fetch
Synchronous wrapper around the Fetch API. Uses [`node-fetch`](https://github.com/bitinn/node-fetch) under the hood, and for some input-parsing code and test cases too.
[![npm](https://img.shields.io/npm/v/sync-fetch?style=flat-square)](https://npmjs.com/package/sync-fetch)
## Install
npm install sync-fetch
## Use
```js
const fetch = require('sync-fetch')
const metadata = fetch('https://doi.org/10.7717/peerj-cs.214', {
headers: {
Accept: 'application/vnd.citationstyles.csl+json'
}
}).json()
```
## Limitations
### Node.js
- Does not support `Stream`s (or `FormData`) as input bodies since they cannot be read or serialized synchronously
- Does not support `Blob`s 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`
- Does not support [binary responses in the main thread](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/responseType#Synchronous_XHR_restrictions)
- CORS limitations apply, of course (note they may be stricter for synchronous requests)