UNPKG

@orpc/server

Version:

<div align="center"> <image align="center" src="https://orpc.dev/logo.webp" width=280 alt="oRPC logo" /> </div>

100 lines (93 loc) 4.59 kB
import { C as Context, R as Router } from '../../shared/server.qKsRrdxW.js'; import { Interceptor, MaybeOptionalOptions } from '@orpc/shared'; import { SendStandardResponseOptions, NodeHttpRequest, NodeHttpResponse } from '@orpc/standard-server-node'; import { g as StandardHandlerPlugin, C as CompositeStandardHandlerPlugin, b as StandardHandleOptions, f as StandardHandler } from '../../shared/server.7cEtMB30.js'; import { F as FriendlyStandardHandleOptions } from '../../shared/server.EfTOZ2Q7.js'; import compression from '@orpc/interop/compression'; import { S as StandardRPCHandlerOptions } from '../../shared/server.yoEB3Fx4.js'; import '@orpc/client'; import '@orpc/contract'; import '@orpc/standard-server'; import '@orpc/client/standard'; import '../../shared/server.ChyoA9XY.js'; interface NodeHttpHandlerPlugin<T extends Context> extends StandardHandlerPlugin<T> { initRuntimeAdapter?(options: NodeHttpHandlerOptions<T>): void; } declare class CompositeNodeHttpHandlerPlugin<T extends Context, TPlugin extends NodeHttpHandlerPlugin<T>> extends CompositeStandardHandlerPlugin<T, TPlugin> implements NodeHttpHandlerPlugin<T> { initRuntimeAdapter(options: NodeHttpHandlerOptions<T>): void; } type NodeHttpHandleResult = { matched: true; } | { matched: false; }; interface NodeHttpHandlerInterceptorOptions<T extends Context> extends StandardHandleOptions<T> { request: NodeHttpRequest; response: NodeHttpResponse; sendStandardResponseOptions: SendStandardResponseOptions; } interface NodeHttpHandlerOptions<T extends Context> extends SendStandardResponseOptions { adapterInterceptors?: Interceptor<NodeHttpHandlerInterceptorOptions<T>, Promise<NodeHttpHandleResult>>[]; plugins?: NodeHttpHandlerPlugin<T>[]; } declare class NodeHttpHandler<T extends Context> { private readonly standardHandler; private readonly sendStandardResponseOptions; private readonly adapterInterceptors; constructor(standardHandler: StandardHandler<T>, options?: NoInfer<NodeHttpHandlerOptions<T>>); handle(request: NodeHttpRequest, response: NodeHttpResponse, ...rest: MaybeOptionalOptions<FriendlyStandardHandleOptions<T>>): Promise<NodeHttpHandleResult>; } interface BodyLimitPluginOptions { /** * The maximum size of the body in bytes. */ maxBodySize: number; } /** * The Body Limit Plugin restricts the size of the request body for the Node.js HTTP Server. * * @see {@link https://orpc.dev/docs/plugins/body-limit Body Limit Plugin Docs} */ declare class BodyLimitPlugin<T extends Context> implements NodeHttpHandlerPlugin<T> { private readonly maxBodySize; constructor(options: BodyLimitPluginOptions); initRuntimeAdapter(options: NodeHttpHandlerOptions<T>): void; } interface CompressionPluginOptions extends compression.CompressionOptions { /** * Override the default content-type filter used to determine which responses should be compressed. * * @warning [Event Iterator](https://orpc.dev/docs/event-iterator) responses are never compressed, regardless of this filter's return value. * @default only responses with compressible content types are compressed. */ filter?: (req: NodeHttpRequest, res: NodeHttpResponse) => boolean; } /** * The Compression Plugin adds response compression to the Node.js HTTP Server. * * @see {@link https://orpc.dev/docs/plugins/compression Compression Plugin Docs} */ declare class CompressionPlugin<T extends Context> implements NodeHttpHandlerPlugin<T> { private readonly compressionHandler; constructor(options?: CompressionPluginOptions); initRuntimeAdapter(options: NodeHttpHandlerOptions<T>): void; } interface RPCHandlerOptions<T extends Context> extends NodeHttpHandlerOptions<T>, Omit<StandardRPCHandlerOptions<T>, 'plugins'> { /** * Enables or disables the StrictGetMethodPlugin. * * @default true */ strictGetMethodPluginEnabled?: boolean; } /** * RPC Handler for Node.js HTTP Server * * @see {@link https://orpc.dev/docs/rpc-handler RPC Handler Docs} * @see {@link https://orpc.dev/docs/adapters/http HTTP Adapter Docs} */ declare class RPCHandler<T extends Context> extends NodeHttpHandler<T> { constructor(router: Router<any, T>, options?: NoInfer<RPCHandlerOptions<T>>); } export { BodyLimitPlugin, CompositeNodeHttpHandlerPlugin, CompressionPlugin, NodeHttpHandler, RPCHandler }; export type { BodyLimitPluginOptions, CompressionPluginOptions, NodeHttpHandleResult, NodeHttpHandlerInterceptorOptions, NodeHttpHandlerOptions, NodeHttpHandlerPlugin, RPCHandlerOptions };