@graphql-mesh/transport-http
Version:
22 lines (21 loc) • 893 B
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.getSubgraphExecutor = void 0;
const graphql_1 = require("graphql");
const core_1 = require("@envelop/core");
const executor_http_1 = require("@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 (0, core_1.getDocumentString)(document, graphql_1.print);
}
const getSubgraphExecutor = function getHTTPSubgraphExecutor({ transportEntry, fetch }) {
return (0, executor_http_1.buildHTTPExecutor)({
endpoint: transportEntry.location,
headers: transportEntry.headers,
fetch,
print: printFnForHTTPExecutor,
...transportEntry.options,
});
};
exports.getSubgraphExecutor = getSubgraphExecutor;
;