@itwin/core-common
Version:
iTwin.js components common to frontend and backend
34 lines • 1.74 kB
TypeScript
/** @packageDocumentation
* @module RpcInterface
*/
import { IModelRpcProps } from "../../IModel";
import { RpcOperation } from "../core/RpcOperation";
import { SerializedRpcOperation, SerializedRpcRequest } from "../core/RpcProtocol";
import { RpcRequest } from "../core/RpcRequest";
import { OpenAPIParameter } from "./OpenAPI";
import { WebAppRpcProtocol } from "./WebAppRpcProtocol";
import { SerializedRpcActivity } from "../core/RpcInvocation";
/** An http protocol for Bentley cloud RPC interface deployments.
* @internal
*/
export declare abstract class BentleyCloudRpcProtocol extends WebAppRpcProtocol {
checkToken: boolean;
/** The name of various HTTP request headers based on client's request context */
serializedClientRequestContextHeaderNames: SerializedRpcActivity;
/** The name of the RPC protocol version header. */
protocolVersionHeaderName: string;
/** Returns the operation specified by an OpenAPI-compatible URI path. */
getOperationFromPath(path: string): SerializedRpcOperation;
/** Supplies the OpenAPI-compatible URI path for an RPC operation. */
supplyPathForOperation(operation: RpcOperation, request: RpcRequest | undefined): string;
/**
* Inflates the IModelRpcProps from the URL path for each request on the backend.
* @note This function updates the IModelRpcProps value supplied in the request body.
*/
inflateToken(tokenFromBody: IModelRpcProps, request: SerializedRpcRequest): IModelRpcProps;
/** Returns the OpenAPI-compatible URI path parameters for an RPC operation.
* @internal
*/
supplyPathParametersForOperation(_operation: RpcOperation): OpenAPIParameter[];
}
//# sourceMappingURL=BentleyCloudRpcProtocol.d.ts.map