UNPKG

14.6 kBTypeScriptView Raw
1declare module 'https' {
2 import { Duplex } from 'stream';
3 import * as tls from 'tls';
4 import * as http from 'http';
5 import { URL } from 'url';
6
7 type ServerOptions<
8 Request extends typeof http.IncomingMessage = typeof http.IncomingMessage,
9 Response extends typeof http.ServerResponse = typeof http.ServerResponse,
10 > = tls.SecureContextOptions & tls.TlsOptions & http.ServerOptions<Request, Response>;
11
12 type RequestOptions = http.RequestOptions &
13 tls.SecureContextOptions & {
14 checkServerIdentity?: typeof tls.checkServerIdentity | undefined;
15 rejectUnauthorized?: boolean | undefined; // Defaults to true
16 servername?: string | undefined; // SNI TLS Extension
17 };
18
19 interface AgentOptions extends http.AgentOptions, tls.ConnectionOptions {
20 rejectUnauthorized?: boolean | undefined;
21 maxCachedSessions?: number | undefined;
22 }
23
24 class Agent extends http.Agent {
25 constructor(options?: AgentOptions);
26 options: AgentOptions;
27 }
28
29 interface Server<
30 Request extends typeof http.IncomingMessage = typeof http.IncomingMessage,
31 Response extends typeof http.ServerResponse = typeof http.ServerResponse,
32 > extends http.Server<Request, Response> {}
33 class Server<
34 Request extends typeof http.IncomingMessage = typeof http.IncomingMessage,
35 Response extends typeof http.ServerResponse = typeof http.ServerResponse,
36 > extends tls.Server {
37 constructor(requestListener?: http.RequestListener<Request, Response>);
38 constructor(
39 options: ServerOptions<Request, Response>,
40 requestListener?: http.RequestListener<Request, Response>,
41 );
42 addListener(event: string, listener: (...args: any[]) => void): this;
43 addListener(event: 'keylog', listener: (line: Buffer, tlsSocket: tls.TLSSocket) => void): this;
44 addListener(
45 event: 'newSession',
46 listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void,
47 ): this;
48 addListener(
49 event: 'OCSPRequest',
50 listener: (
51 certificate: Buffer,
52 issuer: Buffer,
53 callback: (err: Error | null, resp: Buffer) => void,
54 ) => void,
55 ): this;
56 addListener(
57 event: 'resumeSession',
58 listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void,
59 ): this;
60 addListener(event: 'secureConnection', listener: (tlsSocket: tls.TLSSocket) => void): this;
61 addListener(event: 'tlsClientError', listener: (err: Error, tlsSocket: tls.TLSSocket) => void): this;
62 addListener(event: 'close', listener: () => void): this;
63 addListener(event: 'connection', listener: (socket: Duplex) => void): this;
64 addListener(event: 'error', listener: (err: Error) => void): this;
65 addListener(event: 'listening', listener: () => void): this;
66 addListener(event: 'checkContinue', listener: http.RequestListener<Request, Response>): this;
67 addListener(event: 'checkExpectation', listener: http.RequestListener<Request, Response>): this;
68 addListener(event: 'clientError', listener: (err: Error, socket: Duplex) => void): this;
69 addListener(
70 event: 'connect',
71 listener: (req: InstanceType<Request>, socket: Duplex, head: Buffer) => void,
72 ): this;
73 addListener(event: 'request', listener: http.RequestListener<Request, Response>): this;
74 addListener(
75 event: 'upgrade',
76 listener: (req: InstanceType<Request>, socket: Duplex, head: Buffer) => void,
77 ): this;
78 emit(event: string, ...args: any[]): boolean;
79 emit(event: 'keylog', line: Buffer, tlsSocket: tls.TLSSocket): boolean;
80 emit(
81 event: 'newSession',
82 sessionId: Buffer,
83 sessionData: Buffer,
84 callback: (err: Error, resp: Buffer) => void,
85 ): boolean;
86 emit(
87 event: 'OCSPRequest',
88 certificate: Buffer,
89 issuer: Buffer,
90 callback: (err: Error | null, resp: Buffer) => void,
91 ): boolean;
92 emit(event: 'resumeSession', sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void): boolean;
93 emit(event: 'secureConnection', tlsSocket: tls.TLSSocket): boolean;
94 emit(event: 'tlsClientError', err: Error, tlsSocket: tls.TLSSocket): boolean;
95 emit(event: 'close'): boolean;
96 emit(event: 'connection', socket: Duplex): boolean;
97 emit(event: 'error', err: Error): boolean;
98 emit(event: 'listening'): boolean;
99 emit(event: 'checkContinue', req: InstanceType<Request>, res: InstanceType<Response>): boolean;
100 emit(event: 'checkExpectation', req: InstanceType<Request>, res: InstanceType<Response>): boolean;
101 emit(event: 'clientError', err: Error, socket: Duplex): boolean;
102 emit(event: 'connect', req: InstanceType<Request>, socket: Duplex, head: Buffer): boolean;
103 emit(event: 'request', req: InstanceType<Request>, res: InstanceType<Response>): boolean;
104 emit(event: 'upgrade', req: InstanceType<Request>, socket: Duplex, head: Buffer): boolean;
105 on(event: string, listener: (...args: any[]) => void): this;
106 on(event: 'keylog', listener: (line: Buffer, tlsSocket: tls.TLSSocket) => void): this;
107 on(
108 event: 'newSession',
109 listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void,
110 ): this;
111 on(
112 event: 'OCSPRequest',
113 listener: (
114 certificate: Buffer,
115 issuer: Buffer,
116 callback: (err: Error | null, resp: Buffer) => void,
117 ) => void,
118 ): this;
119 on(
120 event: 'resumeSession',
121 listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void,
122 ): this;
123 on(event: 'secureConnection', listener: (tlsSocket: tls.TLSSocket) => void): this;
124 on(event: 'tlsClientError', listener: (err: Error, tlsSocket: tls.TLSSocket) => void): this;
125 on(event: 'close', listener: () => void): this;
126 on(event: 'connection', listener: (socket: Duplex) => void): this;
127 on(event: 'error', listener: (err: Error) => void): this;
128 on(event: 'listening', listener: () => void): this;
129 on(event: 'checkContinue', listener: http.RequestListener<Request, Response>): this;
130 on(event: 'checkExpectation', listener: http.RequestListener<Request, Response>): this;
131 on(event: 'clientError', listener: (err: Error, socket: Duplex) => void): this;
132 on(event: 'connect', listener: (req: InstanceType<Request>, socket: Duplex, head: Buffer) => void): this;
133 on(event: 'request', listener: http.RequestListener<Request, Response>): this;
134 on(event: 'upgrade', listener: (req: InstanceType<Request>, socket: Duplex, head: Buffer) => void): this;
135 once(event: string, listener: (...args: any[]) => void): this;
136 once(event: 'keylog', listener: (line: Buffer, tlsSocket: tls.TLSSocket) => void): this;
137 once(
138 event: 'newSession',
139 listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void,
140 ): this;
141 once(
142 event: 'OCSPRequest',
143 listener: (
144 certificate: Buffer,
145 issuer: Buffer,
146 callback: (err: Error | null, resp: Buffer) => void,
147 ) => void,
148 ): this;
149 once(
150 event: 'resumeSession',
151 listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void,
152 ): this;
153 once(event: 'secureConnection', listener: (tlsSocket: tls.TLSSocket) => void): this;
154 once(event: 'tlsClientError', listener: (err: Error, tlsSocket: tls.TLSSocket) => void): this;
155 once(event: 'close', listener: () => void): this;
156 once(event: 'connection', listener: (socket: Duplex) => void): this;
157 once(event: 'error', listener: (err: Error) => void): this;
158 once(event: 'listening', listener: () => void): this;
159 once(event: 'checkContinue', listener: http.RequestListener<Request, Response>): this;
160 once(event: 'checkExpectation', listener: http.RequestListener<Request, Response>): this;
161 once(event: 'clientError', listener: (err: Error, socket: Duplex) => void): this;
162 once(event: 'connect', listener: (req: InstanceType<Request>, socket: Duplex, head: Buffer) => void): this;
163 once(event: 'request', listener: http.RequestListener<Request, Response>): this;
164 once(event: 'upgrade', listener: (req: InstanceType<Request>, socket: Duplex, head: Buffer) => void): this;
165 prependListener(event: string, listener: (...args: any[]) => void): this;
166 prependListener(event: 'keylog', listener: (line: Buffer, tlsSocket: tls.TLSSocket) => void): this;
167 prependListener(
168 event: 'newSession',
169 listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void,
170 ): this;
171 prependListener(
172 event: 'OCSPRequest',
173 listener: (
174 certificate: Buffer,
175 issuer: Buffer,
176 callback: (err: Error | null, resp: Buffer) => void,
177 ) => void,
178 ): this;
179 prependListener(
180 event: 'resumeSession',
181 listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void,
182 ): this;
183 prependListener(event: 'secureConnection', listener: (tlsSocket: tls.TLSSocket) => void): this;
184 prependListener(event: 'tlsClientError', listener: (err: Error, tlsSocket: tls.TLSSocket) => void): this;
185 prependListener(event: 'close', listener: () => void): this;
186 prependListener(event: 'connection', listener: (socket: Duplex) => void): this;
187 prependListener(event: 'error', listener: (err: Error) => void): this;
188 prependListener(event: 'listening', listener: () => void): this;
189 prependListener(event: 'checkContinue', listener: http.RequestListener<Request, Response>): this;
190 prependListener(event: 'checkExpectation', listener: http.RequestListener<Request, Response>): this;
191 prependListener(event: 'clientError', listener: (err: Error, socket: Duplex) => void): this;
192 prependListener(
193 event: 'connect',
194 listener: (req: InstanceType<Request>, socket: Duplex, head: Buffer) => void,
195 ): this;
196 prependListener(event: 'request', listener: http.RequestListener<Request, Response>): this;
197 prependListener(
198 event: 'upgrade',
199 listener: (req: InstanceType<Request>, socket: Duplex, head: Buffer) => void,
200 ): this;
201 prependOnceListener(event: string, listener: (...args: any[]) => void): this;
202 prependOnceListener(event: 'keylog', listener: (line: Buffer, tlsSocket: tls.TLSSocket) => void): this;
203 prependOnceListener(
204 event: 'newSession',
205 listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void,
206 ): this;
207 prependOnceListener(
208 event: 'OCSPRequest',
209 listener: (
210 certificate: Buffer,
211 issuer: Buffer,
212 callback: (err: Error | null, resp: Buffer) => void,
213 ) => void,
214 ): this;
215 prependOnceListener(
216 event: 'resumeSession',
217 listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void,
218 ): this;
219 prependOnceListener(event: 'secureConnection', listener: (tlsSocket: tls.TLSSocket) => void): this;
220 prependOnceListener(event: 'tlsClientError', listener: (err: Error, tlsSocket: tls.TLSSocket) => void): this;
221 prependOnceListener(event: 'close', listener: () => void): this;
222 prependOnceListener(event: 'connection', listener: (socket: Duplex) => void): this;
223 prependOnceListener(event: 'error', listener: (err: Error) => void): this;
224 prependOnceListener(event: 'listening', listener: () => void): this;
225 prependOnceListener(event: 'checkContinue', listener: http.RequestListener<Request, Response>): this;
226 prependOnceListener(event: 'checkExpectation', listener: http.RequestListener<Request, Response>): this;
227 prependOnceListener(event: 'clientError', listener: (err: Error, socket: Duplex) => void): this;
228 prependOnceListener(
229 event: 'connect',
230 listener: (req: InstanceType<Request>, socket: Duplex, head: Buffer) => void,
231 ): this;
232 prependOnceListener(event: 'request', listener: http.RequestListener<Request, Response>): this;
233 prependOnceListener(
234 event: 'upgrade',
235 listener: (req: InstanceType<Request>, socket: Duplex, head: Buffer) => void,
236 ): this;
237 }
238
239 function createServer<
240 Request extends typeof http.IncomingMessage = typeof http.IncomingMessage,
241 Response extends typeof http.ServerResponse = typeof http.ServerResponse,
242 >(requestListener?: http.RequestListener<Request, Response>): Server<Request, Response>;
243 function createServer<
244 Request extends typeof http.IncomingMessage = typeof http.IncomingMessage,
245 Response extends typeof http.ServerResponse = typeof http.ServerResponse,
246 >(
247 options: ServerOptions<Request, Response>,
248 requestListener?: http.RequestListener<Request, Response>,
249 ): Server<Request, Response>;
250 function request(
251 options: RequestOptions | string | URL,
252 callback?: (res: http.IncomingMessage) => void,
253 ): http.ClientRequest;
254 function request(
255 url: string | URL,
256 options: RequestOptions,
257 callback?: (res: http.IncomingMessage) => void,
258 ): http.ClientRequest;
259 function get(
260 options: RequestOptions | string | URL,
261 callback?: (res: http.IncomingMessage) => void,
262 ): http.ClientRequest;
263 function get(
264 url: string | URL,
265 options: RequestOptions,
266 callback?: (res: http.IncomingMessage) => void,
267 ): http.ClientRequest;
268 let globalAgent: Agent;
269}
270declare module 'node:https' {
271 export * from 'https';
272}