UNPKG

next-connect

Version:

The method routing and middleware layer for Next.js (and many others)

23 lines (22 loc) 1.52 kB
/// <reference types="node" resolution-mode="require"/> import type { IncomingMessage, ServerResponse } from "http"; import type { HandlerOptions, Nextable, RouteMatch, RouteShortcutMethod, ValueOrPromise } from "./types.js"; export type RequestHandler<Req extends IncomingMessage, Res extends ServerResponse> = (req: Req, res: Res) => ValueOrPromise<void>; export declare class NodeRouter<Req extends IncomingMessage = IncomingMessage, Res extends ServerResponse = ServerResponse> { private router; private add; all: RouteShortcutMethod<this, RequestHandler<Req, Res>>; get: RouteShortcutMethod<this, RequestHandler<Req, Res>>; head: RouteShortcutMethod<this, RequestHandler<Req, Res>>; post: RouteShortcutMethod<this, RequestHandler<Req, Res>>; put: RouteShortcutMethod<this, RequestHandler<Req, Res>>; patch: RouteShortcutMethod<this, RequestHandler<Req, Res>>; delete: RouteShortcutMethod<this, RequestHandler<Req, Res>>; use(base: RouteMatch | Nextable<RequestHandler<Req, Res>> | NodeRouter<Req, Res>, ...fns: (Nextable<RequestHandler<Req, Res>> | NodeRouter<Req, Res>)[]): this; private prepareRequest; clone(): NodeRouter<Req, Res>; run(req: Req, res: Res): Promise<unknown>; handler(options?: HandlerOptions<RequestHandler<Req, Res>>): (req: Req, res: Res) => Promise<void>; } export declare function getPathname(url: string): string; export declare function createRouter<Req extends IncomingMessage, Res extends ServerResponse>(): NodeRouter<Req, Res>;