@@ -9,6 +9,7 @@ import type * as express from 'express';
99import type * as http from 'http' ;
1010import type * as httpProxy from 'http-proxy' ;
1111import type * as net from 'net' ;
12+ import type * as url from 'url' ;
1213
1314export interface Request extends express . Request { }
1415export interface Response extends express . Response { }
@@ -29,20 +30,14 @@ export interface Options extends httpProxy.ServerOptions {
2930 | ( ( req : Request ) => httpProxy . ServerOptions [ 'target' ] )
3031 | ( ( req : Request ) => Promise < httpProxy . ServerOptions [ 'target' ] > ) ;
3132 logLevel ?: 'debug' | 'info' | 'warn' | 'error' | 'silent' ;
32- logProvider ?( provider : LogProvider ) : LogProvider ;
33-
34- onError ?( err : Error , req : Request , res : Response ) : void ;
35- onProxyRes ?( proxyRes : http . IncomingMessage , req : Request , res : Response ) : void ;
36- onProxyReq ?( proxyReq : http . ClientRequest , req : Request , res : Response ) : void ;
37- onProxyReqWs ?(
38- proxyReq : http . ClientRequest ,
39- req : Request ,
40- socket : net . Socket ,
41- options : httpProxy . ServerOptions ,
42- head : any
43- ) : void ;
44- onOpen ?( proxySocket : net . Socket ) : void ;
45- onClose ?( res : Response , socket : net . Socket , head : any ) : void ;
33+ logProvider ?: LogProviderCallback ;
34+
35+ onError ?: OnErrorCallback ;
36+ onProxyRes ?: OnProxyResCallback ;
37+ onProxyReq ?: OnProxyReqCallback ;
38+ onProxyReqWs ?: OnProxyReqWsCallback ;
39+ onOpen ?: OnOpenCallback ;
40+ onClose ?: OnCloseCallback ;
4641}
4742
4843interface LogProvider {
@@ -54,3 +49,41 @@ interface LogProvider {
5449}
5550
5651type Logger = ( ...args : any [ ] ) => void ;
52+
53+ export type LogProviderCallback = ( provider : LogProvider ) => LogProvider ;
54+
55+ /**
56+ * Use types based on the events listeners from http-proxy
57+ * https://github.com/DefinitelyTyped/DefinitelyTyped/blob/51504fd999031b7f025220fab279f1b2155cbaff/types/http-proxy/index.d.ts
58+ */
59+ export type OnErrorCallback = (
60+ err : Error ,
61+ req : http . IncomingMessage ,
62+ res : http . ServerResponse ,
63+ target ?: string | Partial < url . Url >
64+ ) => void ;
65+ export type OnProxyResCallback = (
66+ proxyRes : http . IncomingMessage ,
67+ req : http . IncomingMessage ,
68+ res : http . ServerResponse
69+ ) => void ;
70+ export type OnProxyReqCallback = (
71+ proxyReq : http . ClientRequest ,
72+ req : http . IncomingMessage ,
73+ res : http . ServerResponse ,
74+ options : httpProxy . ServerOptions
75+ ) => void ;
76+ export type OnProxyReqWsCallback = (
77+ proxyReq : http . ClientRequest ,
78+ req : http . IncomingMessage ,
79+ socket : net . Socket ,
80+ options : httpProxy . ServerOptions ,
81+ head : any
82+ ) => void ;
83+ export type OnCloseCallback = (
84+ proxyRes : http . IncomingMessage ,
85+ proxySocket : net . Socket ,
86+ proxyHead : any
87+ ) => void ;
88+
89+ export type OnOpenCallback = ( proxySocket : net . Socket ) => void ;
0 commit comments