@graphql-mesh/transport-http
Version:
18 lines (17 loc) • 697 B
JavaScript
import { print } from 'graphql';
import { getDocumentString } from '@envelop/core';
import { buildHTTPExecutor } from '@graphql-tools/executor-http';
// Use Envelop's print/parse cache to avoid parsing the same document multiple times
// TODO: Maybe a shared print/parse cache in the future?
function printFnForHTTPExecutor(document) {
return getDocumentString(document, print);
}
export const getSubgraphExecutor = function getHTTPSubgraphExecutor({ transportEntry, fetch }) {
return buildHTTPExecutor({
endpoint: transportEntry.location,
headers: transportEntry.headers,
fetch,
print: printFnForHTTPExecutor,
...transportEntry.options,
});
};