@graphql-mesh/hmac-upstream-signature
Version:
20 lines (19 loc) • 1.14 kB
TypeScript
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;