UNPKG

@rxts/koa-proxy

Version:

`http-proxy` wrapper as Koa middleware

23 lines 1.49 kB
/// <reference types="node" /> /// <reference types="koa-compose" /> import { ClientRequest, IncomingMessage, ServerResponse } from 'http'; import { ServerOptions } from 'http-proxy'; import { DefaultContext, DefaultState, ParameterizedContext } from 'koa'; import { Url } from 'url'; export declare type ProxyTargetUrl = string | Partial<Url>; export interface ProxyEventListener { error?: (err: Error, req: IncomingMessage, res: ServerResponse, target?: ProxyTargetUrl) => void; start?: (req: IncomingMessage, res: ServerResponse, target: ProxyTargetUrl) => void; proxyReq?: (proxyReq: ClientRequest, req: IncomingMessage, res: ServerResponse, options: ServerOptions) => void; proxyRes?: (proxyRes: IncomingMessage, req: IncomingMessage, res: ServerResponse) => void; econnreset?: (err: Error, req: IncomingMessage, res: ServerResponse, target: ProxyTargetUrl) => void; end?: (req: IncomingMessage, res: ServerResponse, proxyRes: IncomingMessage) => void; } export interface KoaProxyOptions<StateT, CustomT> extends ServerOptions { listeners?: ProxyEventListener; override?: (ctx: ParameterizedContext<StateT, CustomT>) => ServerOptions; skipError?: boolean; } export declare const proxy: <StateT = DefaultState, CustomT = DefaultContext>({ listeners, override, skipError, ...options }?: KoaProxyOptions<StateT, CustomT>) => import("koa-compose").Middleware<ParameterizedContext<StateT, CustomT>>; export default proxy; //# sourceMappingURL=index.d.ts.map