Security News
CISA Brings KEV Data to GitHub
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.
fetch-multipart-graphql
Advanced tools
Cross browser function to fetch and parse streaming multipart graphql responses.
Cross-browser function to fetch and parse streaming multipart graphql responses.
This allows you to efficiently fetch streamed GraphQL responses that use the @defer directive as supported by Apollo Server. It can be easily used in a Relay Modern network layer to support deferred queries.
In a Relay Network Layer:
import fetchMultipart from 'fetch-multipart-graphql';
import { Observable } from 'relay-runtime';
function fetchQuery(operation, variables) {
return Observable.create(sink => {
fetchMultipart('/graphql', {
method: 'POST',
headers: {
'content-type': 'application/json',
},
body: JSON.stringify({
query: operation.text,
variables,
}),
credentials: 'same-origin',
onNext: parts => sink.next(parts),
onError: err => sink.error(err),
onComplete: () => sink.complete(),
});
});
}
The credentials
param is passed to fetch
. For XHR requests, XMLHttpRequest.withCredentials
is mapped to true when credentials: 'include'
.
When fetch
is not available requests are sent through XHR, which supports standard method
, headers
, credentials
and body
settings; as seen in the code example above.
When requests are sent through fetch
we can also set, in addition to the properties already mentioned, all the options supported by fetch.
Tested in the latest Chrome, Firefox, Safari, Edge, and Internet Explorer 11. Requires a polyfill for TextEncoder/Decoder. Since only utf-8 encoding is required, it's recommended to use text-encoding-utf-8 to minimize impact on bundle size.
FAQs
Cross browser function to fetch and parse streaming multipart graphql responses.
We found that fetch-multipart-graphql demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.
Security News
Opengrep forks Semgrep to preserve open source SAST in response to controversial licensing changes.
Security News
Critics call the Node.js EOL CVE a misuse of the system, sparking debate over CVE standards and the growing noise in vulnerability databases.