@@ -9,6 +9,7 @@ import type * as express from 'express';
9
9
import type * as http from 'http' ;
10
10
import type * as httpProxy from 'http-proxy' ;
11
11
import type * as net from 'net' ;
12
+ import type * as url from 'url' ;
12
13
13
14
export interface Request extends express . Request { }
14
15
export interface Response extends express . Response { }
@@ -29,20 +30,14 @@ export interface Options extends httpProxy.ServerOptions {
29
30
| ( ( req : Request ) => httpProxy . ServerOptions [ 'target' ] )
30
31
| ( ( req : Request ) => Promise < httpProxy . ServerOptions [ 'target' ] > ) ;
31
32
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 ;
46
41
}
47
42
48
43
interface LogProvider {
@@ -54,3 +49,41 @@ interface LogProvider {
54
49
}
55
50
56
51
type 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