Odoo GraphQL Subscription using Node, Express JS for Sample
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

103 lines
3.2 KiB

4 months ago
import type { ASTNode } from "graphql";
import { print } from "../../utilities/index.js";
import type { Operation } from "../core/index.js";
export interface Printer {
(node: ASTNode, originalPrint: typeof print): string;
}
export interface UriFunction {
(operation: Operation): string;
}
export interface Body {
query?: string;
operationName?: string;
variables?: Record<string, any>;
extensions?: Record<string, any>;
}
export interface HttpOptions {
/**
* The URI to use when fetching operations.
*
* Defaults to '/graphql'.
*/
uri?: string | UriFunction;
/**
* Passes the extensions field to your graphql server.
*
* Defaults to false.
*/
includeExtensions?: boolean;
/**
* A `fetch`-compatible API to use when making requests.
*/
fetch?: typeof fetch;
/**
* An object representing values to be sent as headers on the request.
*/
headers?: Record<string, string>;
/**
* If set to true, header names won't be automatically normalized to
* lowercase. This allows for non-http-spec-compliant servers that might
* expect capitalized header names.
*/
preserveHeaderCase?: boolean;
/**
* The credentials policy you want to use for the fetch call.
*/
credentials?: string;
/**
* Any overrides of the fetch options argument to pass to the fetch call.
*/
fetchOptions?: any;
/**
* If set to true, use the HTTP GET method for query operations. Mutations
* will still use the method specified in fetchOptions.method (which defaults
* to POST).
*/
useGETForQueries?: boolean;
/**
* If set to true, the default behavior of stripping unused variables
* from the request will be disabled.
*
* Unused variables are likely to trigger server-side validation errors,
* per https://spec.graphql.org/draft/#sec-All-Variables-Used, but this
* includeUnusedVariables option can be useful if your server deviates
* from the GraphQL specification by not strictly enforcing that rule.
*/
includeUnusedVariables?: boolean;
/**
* A function to substitute for the default query print function. Can be
* used to apply changes to the results of the print function.
*/
print?: Printer;
}
export interface HttpQueryOptions {
includeQuery?: boolean;
includeExtensions?: boolean;
preserveHeaderCase?: boolean;
}
export interface HttpConfig {
http?: HttpQueryOptions;
options?: any;
headers?: Record<string, string>;
credentials?: any;
}
export declare const fallbackHttpConfig: {
http: HttpQueryOptions;
headers: {
accept: string;
"content-type": string;
};
options: {
method: string;
};
};
export declare const defaultPrinter: Printer;
export declare function selectHttpOptionsAndBody(operation: Operation, fallbackConfig: HttpConfig, ...configs: Array<HttpConfig>): {
options: HttpConfig & Record<string, any>;
body: Body;
};
export declare function selectHttpOptionsAndBodyInternal(operation: Operation, printer: Printer, ...configs: HttpConfig[]): {
options: HttpConfig & Record<string, any>;
body: Body;
};
//# sourceMappingURL=selectHttpOptionsAndBody.d.ts.map