@trpc/server
Version:
61 lines (60 loc) • 3.2 kB
text/typescript
/**
* If you're making an adapter for tRPC and looking at this file for reference, you should import types and functions from `@trpc/server` and `@trpc/server/http`
*
* @example
* ```ts
* import type { AnyTRPCRouter } from '@trpc/server'
* import type { HTTPBaseHandlerOptions } from '@trpc/server/http'
* ```
*/
import { zn as AnyRouter } from "../unstable-core-do-not-import-d-SHdPM9.mjs";
import { c as NodeHTTPHandlerOptions, d as NodeHTTPResponse, l as NodeHTTPRequest, o as NodeHTTPCreateContextFnOptions } from "../index-C7UHVQQf.mjs";
import http from "http";
import * as http2 from "http2";
export type StandaloneHandlerOptions<TRouter extends AnyRouter, TRequest extends NodeHTTPRequest, TResponse extends NodeHTTPResponse> = NodeHTTPHandlerOptions<TRouter, TRequest, TResponse> & {
/**
* The path the router is served at, such as `/trpc/`. It's cut from the
* start of each request's path.
* @default '/'
* @see https://trpc.io/docs/server/adapters/standalone#custom-basePath
*/
basePath?: string;
};
/** The options of `createHTTPServer` and `createHTTPHandler`. */
export type CreateHTTPHandlerOptions<TRouter extends AnyRouter> = StandaloneHandlerOptions<TRouter, http.IncomingMessage, http.ServerResponse>;
/**
* What `createContext` gets in the standalone adapter: `req`, `res` and
* the request's `info`.
* @see https://trpc.io/docs/server/adapters/standalone#2-use-the-standalone-adapter
*/
export type CreateHTTPContextOptions = NodeHTTPCreateContextFnOptions<http.IncomingMessage, http.ServerResponse>;
/**
* Creates a Node.js request listener for a router, to use with your own
* `http.createServer()`.
* @see https://trpc.io/docs/server/adapters/standalone#adding-a-handler-to-a-custom-http-server
* @internal
*/
export declare function createHTTPHandler<TRouter extends AnyRouter>(opts: CreateHTTPHandlerOptions<TRouter>): http.RequestListener;
/**
* Creates a Node.js HTTP server for a router. Call `.listen()` on it.
* @example
* ```ts
* createHTTPServer({ router: appRouter, createContext }).listen(3000);
* ```
* @see https://trpc.io/docs/server/adapters/standalone#2-use-the-standalone-adapter
*/
export declare function createHTTPServer<TRouter extends AnyRouter>(opts: CreateHTTPHandlerOptions<TRouter>): http.Server<typeof http.IncomingMessage, typeof http.ServerResponse>;
/** The options of `createHTTP2Handler`. */
export type CreateHTTP2HandlerOptions<TRouter extends AnyRouter> = StandaloneHandlerOptions<TRouter, http2.Http2ServerRequest, http2.Http2ServerResponse>;
/**
* What `createContext` gets in the HTTP/2 standalone adapter.
* @see https://trpc.io/docs/server/adapters/standalone#http2
*/
export type CreateHTTP2ContextOptions = NodeHTTPCreateContextFnOptions<http2.Http2ServerRequest, http2.Http2ServerResponse>;
/**
* Creates a request listener for a router, to use with Node.js's
* `http2.createSecureServer()`.
* @see https://trpc.io/docs/server/adapters/standalone#http2
*/
export declare function createHTTP2Handler(opts: CreateHTTP2HandlerOptions<AnyRouter>): (req: http2.Http2ServerRequest, res: http2.Http2ServerResponse<http2.Http2ServerRequest>) => void;
//# sourceMappingURL=standalone.d.mts.map