@rxts/koa-proxy
Version:
`http-proxy` wrapper as Koa middleware
23 lines • 1.49 kB
TypeScript
/// <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