@graphql-mesh/transport-rest
Version:
34 lines (33 loc) • 1.62 kB
TypeScript
import type { GraphQLField, GraphQLSchema } from 'graphql';
import type { IStringifyOptions } from 'qs';
import type { Logger, MeshFetch } from '@graphql-mesh/types';
type HTTPMethod = 'GET' | 'HEAD' | 'POST' | 'PUT' | 'DELETE' | 'CONNECT' | 'OPTIONS' | 'TRACE' | 'PATCH';
export interface HTTPRootFieldResolverOpts {
sourceName: string;
endpoint: string;
path: string;
httpMethod: HTTPMethod;
operationSpecificHeaders: Record<string, string>;
isBinary: boolean;
requestBaseBody: any;
queryParamArgMap: Record<string, string>;
queryStringOptionsByParam: Record<string, IStringifyOptions & {
destructObject?: boolean;
jsonStringify?: boolean;
}>;
queryStringOptions: IStringifyOptions & {
destructObject?: boolean;
jsonStringify?: boolean;
};
jsonApiFields: boolean;
}
export interface GlobalOptions {
sourceName: string;
endpoint: string;
timeout: number;
operationHeaders: Record<string, string>;
queryStringOptions: IStringifyOptions;
queryParams: Record<string, string | number | boolean>;
}
export declare function addHTTPRootFieldResolver(schema: GraphQLSchema, field: GraphQLField<any, any>, globalLogger: Logger, globalFetch: MeshFetch, { path, operationSpecificHeaders, httpMethod, isBinary, requestBaseBody, queryParamArgMap, queryStringOptionsByParam, queryStringOptions, jsonApiFields, }: HTTPRootFieldResolverOpts, { sourceName, endpoint, timeout, operationHeaders: globalOperationHeaders, queryStringOptions: globalQueryStringOptions, queryParams: globalQueryParams, }: GlobalOptions): void;
export {};