@graphql-mesh/plugin-operation-headers
Version:
23 lines (22 loc) • 712 B
JavaScript
import { getHeadersObj, mapMaybePromise } from '@graphql-mesh/utils';
export function useOperationHeaders(factoryFn) {
return {
onFetch({ url, options, context, setOptions }) {
const existingHeaders = getHeadersObj(options.headers || {});
const newHeaders$ = factoryFn({
url,
options,
context,
});
return mapMaybePromise(newHeaders$, newHeaders => {
setOptions({
...options,
headers: {
...existingHeaders,
...newHeaders,
},
});
});
},
};
}