UNPKG

@shopify/shopify-api

Version:

Shopify API Library for Node - accelerate development with support for authentication, graphql proxy, webhooks

34 lines (31 loc) 1.1 kB
import { InvalidSession, MissingRequiredArgument } from '../../error.mjs'; import { graphqlClientClass } from '../admin/graphql/client.mjs'; import '@shopify/admin-api-client'; import 'lossless-json'; import '../../types.mjs'; import 'compare-versions'; function graphqlProxy(config) { return async ({ session, rawBody }) => { if (!session.accessToken) { throw new InvalidSession('Cannot proxy query. Session not authenticated.'); } const GraphqlClient = graphqlClientClass({ config }); const client = new GraphqlClient({ session }); let query; let variables; if (typeof rawBody === 'string') { query = rawBody; } else { query = rawBody.query; variables = rawBody.variables; } if (!query) { throw new MissingRequiredArgument('Query missing.'); } const response = await client.request(query, { variables }); return { body: response, headers: {} }; }; } export { graphqlProxy }; //# sourceMappingURL=graphql_proxy.mjs.map