@shopify/shopify-api
Version:
Shopify API Library for Node - accelerate development with support for authentication, graphql proxy, webhooks
36 lines (32 loc) • 1.11 kB
JavaScript
;
var error = require('../../error.js');
var client = require('../admin/graphql/client.js');
require('@shopify/admin-api-client');
require('lossless-json');
require('../../types.js');
require('compare-versions');
function graphqlProxy(config) {
return async ({ session, rawBody }) => {
if (!session.accessToken) {
throw new error.InvalidSession('Cannot proxy query. Session not authenticated.');
}
const GraphqlClient = client.graphqlClientClass({ config });
const client$1 = new GraphqlClient({ session });
let query;
let variables;
if (typeof rawBody === 'string') {
query = rawBody;
}
else {
query = rawBody.query;
variables = rawBody.variables;
}
if (!query) {
throw new error.MissingRequiredArgument('Query missing.');
}
const response = await client$1.request(query, { variables });
return { body: response, headers: {} };
};
}
exports.graphqlProxy = graphqlProxy;
//# sourceMappingURL=graphql_proxy.js.map