UNPKG

@graphql-mesh/hmac-upstream-signature

Version:
20 lines (19 loc) 1.14 kB
import type { GraphQLParams, Plugin as YogaPlugin } from 'graphql-yoga'; import type { OnSubgraphExecutePayload } from '@graphql-mesh/fusion-runtime'; import type { MeshServePlugin } from '@graphql-mesh/serve-runtime'; import type { ExecutionRequest } from '@graphql-tools/utils'; export type HMACUpstreamSignatureOptions = { secret: string; shouldSign?: (input: Pick<OnSubgraphExecutePayload<{}>, 'subgraph' | 'subgraphName' | 'executionRequest'>) => boolean; extensionName?: string; serializeExecutionRequest?: (executionRequest: ExecutionRequest) => string; }; export declare const defaultExecutionRequestSerializer: (executionRequest: ExecutionRequest) => any; export declare const defaultParamsSerializer: (params: GraphQLParams) => any; export declare function useHmacUpstreamSignature(options: HMACUpstreamSignatureOptions): MeshServePlugin; export type HMACUpstreamSignatureValidationOptions = { secret: string; extensionName?: string; serializeParams?: (params: GraphQLParams) => string; }; export declare function useHmacSignatureValidation(options: HMACUpstreamSignatureValidationOptions): YogaPlugin;