diff --git a/components/js-api-client/package.json b/components/js-api-client/package.json index 7fa025a4..1407f4b7 100644 --- a/components/js-api-client/package.json +++ b/components/js-api-client/package.json @@ -1,7 +1,7 @@ { "name": "@crystallize/js-api-client", "license": "MIT", - "version": "4.0.0", + "version": "4.1.0", "type": "module", "author": "Crystallize (https://crystallize.com)", "contributors": [ diff --git a/components/js-api-client/src/core/client.ts b/components/js-api-client/src/core/client.ts index 5a2e2c0f..323cb125 100644 --- a/components/js-api-client/src/core/client.ts +++ b/components/js-api-client/src/core/client.ts @@ -41,6 +41,7 @@ type ProfilingOptions = { export type CreateClientOptions = { useHttp2?: boolean; profiling?: ProfilingOptions; + extraHeaders?: RequestInit['headers']; shopApiToken?: { doNotFetch?: boolean; scopes?: string[]; @@ -183,7 +184,19 @@ function createApiCaller( options?: CreateClientOptions, ): ApiCaller { return function callApi(query: string, variables?: VariablesType): Promise { - return post(grab, uri, configuration, query, variables, undefined, options); + return post( + grab, + uri, + configuration, + query, + variables, + options?.extraHeaders + ? { + headers: options.extraHeaders, + } + : undefined, + options, + ); }; }