UNPKG

12.4 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 = tls.SecureContextOptions & tls.TlsOptions & http.ServerOptions;
8
9 type RequestOptions = http.RequestOptions & tls.SecureContextOptions & {
10 rejectUnauthorized?: boolean | undefined; // Defaults to true
11 servername?: string | undefined; // SNI TLS Extension
12 };
13
14 interface AgentOptions extends http.AgentOptions, tls.ConnectionOptions {
15 rejectUnauthorized?: boolean | undefined;
16 maxCachedSessions?: number | undefined;
17 }
18
19 class Agent extends http.Agent {
20 constructor(options?: AgentOptions);
21 options: AgentOptions;
22 }
23
24 interface Server extends http.Server {}
25 class Server extends tls.Server {
26 constructor(requestListener?: http.RequestListener);
27 constructor(options: ServerOptions, requestListener?: http.RequestListener);
28
29 setTimeout(callback: () => void): this;
30 setTimeout(msecs?: number, callback?: () => void): this;
31 /**
32 * Limits maximum incoming headers count. If set to 0, no limit will be applied.
33 * @default 2000
34 * {@link https://nodejs.org/api/http.html#http_server_maxheaderscount}
35 */
36 maxHeadersCount: number | null;
37 timeout: number;
38 /**
39 * Limit the amount of time the parser will wait to receive the complete HTTP headers.
40 * @default 40000
41 * {@link https://nodejs.org/api/http.html#http_server_headerstimeout}
42 */
43 headersTimeout: number;
44 keepAliveTimeout: number;
45 addListener(event: string, listener: (...args: any[]) => void): this;
46 addListener(event: 'keylog', listener: (line: Buffer, tlsSocket: tls.TLSSocket) => void): this;
47 addListener(event: 'newSession', listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this;
48 addListener(event: 'OCSPRequest', listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this;
49 addListener(event: 'resumeSession', listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this;
50 addListener(event: 'secureConnection', listener: (tlsSocket: tls.TLSSocket) => void): this;
51 addListener(event: 'tlsClientError', listener: (err: Error, tlsSocket: tls.TLSSocket) => void): this;
52 addListener(event: 'close', listener: () => void): this;
53 addListener(event: 'connection', listener: (socket: Duplex) => void): this;
54 addListener(event: 'error', listener: (err: Error) => void): this;
55 addListener(event: 'listening', listener: () => void): this;
56 addListener(event: 'checkContinue', listener: http.RequestListener): this;
57 addListener(event: 'checkExpectation', listener: http.RequestListener): this;
58 addListener(event: 'clientError', listener: (err: Error, socket: Duplex) => void): this;
59 addListener(event: 'connect', listener: (req: http.IncomingMessage, socket: Duplex, head: Buffer) => void): this;
60 addListener(event: 'request', listener: http.RequestListener): this;
61 addListener(event: 'upgrade', listener: (req: http.IncomingMessage, socket: Duplex, head: Buffer) => void): this;
62 emit(event: string, ...args: any[]): boolean;
63 emit(event: 'keylog', line: Buffer, tlsSocket: tls.TLSSocket): boolean;
64 emit(event: 'newSession', sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void): boolean;
65 emit(event: 'OCSPRequest', certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void): boolean;
66 emit(event: 'resumeSession', sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void): boolean;
67 emit(event: 'secureConnection', tlsSocket: tls.TLSSocket): boolean;
68 emit(event: 'tlsClientError', err: Error, tlsSocket: tls.TLSSocket): boolean;
69 emit(event: 'close'): boolean;
70 emit(event: 'connection', socket: Duplex): boolean;
71 emit(event: 'error', err: Error): boolean;
72 emit(event: 'listening'): boolean;
73 emit(event: 'checkContinue', req: http.IncomingMessage, res: http.ServerResponse): boolean;
74 emit(event: 'checkExpectation', req: http.IncomingMessage, res: http.ServerResponse): boolean;
75 emit(event: 'clientError', err: Error, socket: Duplex): boolean;
76 emit(event: 'connect', req: http.IncomingMessage, socket: Duplex, head: Buffer): boolean;
77 emit(event: 'request', req: http.IncomingMessage, res: http.ServerResponse): boolean;
78 emit(event: 'upgrade', req: http.IncomingMessage, socket: Duplex, head: Buffer): boolean;
79 on(event: string, listener: (...args: any[]) => void): this;
80 on(event: 'keylog', listener: (line: Buffer, tlsSocket: tls.TLSSocket) => void): this;
81 on(event: 'newSession', listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this;
82 on(event: 'OCSPRequest', listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this;
83 on(event: 'resumeSession', listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this;
84 on(event: 'secureConnection', listener: (tlsSocket: tls.TLSSocket) => void): this;
85 on(event: 'tlsClientError', listener: (err: Error, tlsSocket: tls.TLSSocket) => void): this;
86 on(event: 'close', listener: () => void): this;
87 on(event: 'connection', listener: (socket: Duplex) => void): this;
88 on(event: 'error', listener: (err: Error) => void): this;
89 on(event: 'listening', listener: () => void): this;
90 on(event: 'checkContinue', listener: http.RequestListener): this;
91 on(event: 'checkExpectation', listener: http.RequestListener): this;
92 on(event: 'clientError', listener: (err: Error, socket: Duplex) => void): this;
93 on(event: 'connect', listener: (req: http.IncomingMessage, socket: Duplex, head: Buffer) => void): this;
94 on(event: 'request', listener: http.RequestListener): this;
95 on(event: 'upgrade', listener: (req: http.IncomingMessage, socket: Duplex, head: Buffer) => void): this;
96 once(event: string, listener: (...args: any[]) => void): this;
97 once(event: 'keylog', listener: (line: Buffer, tlsSocket: tls.TLSSocket) => void): this;
98 once(event: 'newSession', listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this;
99 once(event: 'OCSPRequest', listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this;
100 once(event: 'resumeSession', listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this;
101 once(event: 'secureConnection', listener: (tlsSocket: tls.TLSSocket) => void): this;
102 once(event: 'tlsClientError', listener: (err: Error, tlsSocket: tls.TLSSocket) => void): this;
103 once(event: 'close', listener: () => void): this;
104 once(event: 'connection', listener: (socket: Duplex) => void): this;
105 once(event: 'error', listener: (err: Error) => void): this;
106 once(event: 'listening', listener: () => void): this;
107 once(event: 'checkContinue', listener: http.RequestListener): this;
108 once(event: 'checkExpectation', listener: http.RequestListener): this;
109 once(event: 'clientError', listener: (err: Error, socket: Duplex) => void): this;
110 once(event: 'connect', listener: (req: http.IncomingMessage, socket: Duplex, head: Buffer) => void): this;
111 once(event: 'request', listener: http.RequestListener): this;
112 once(event: 'upgrade', listener: (req: http.IncomingMessage, socket: Duplex, head: Buffer) => void): this;
113 prependListener(event: string, listener: (...args: any[]) => void): this;
114 prependListener(event: 'keylog', listener: (line: Buffer, tlsSocket: tls.TLSSocket) => void): this;
115 prependListener(event: 'newSession', listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this;
116 prependListener(event: 'OCSPRequest', listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this;
117 prependListener(event: 'resumeSession', listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this;
118 prependListener(event: 'secureConnection', listener: (tlsSocket: tls.TLSSocket) => void): this;
119 prependListener(event: 'tlsClientError', listener: (err: Error, tlsSocket: tls.TLSSocket) => void): this;
120 prependListener(event: 'close', listener: () => void): this;
121 prependListener(event: 'connection', listener: (socket: Duplex) => void): this;
122 prependListener(event: 'error', listener: (err: Error) => void): this;
123 prependListener(event: 'listening', listener: () => void): this;
124 prependListener(event: 'checkContinue', listener: http.RequestListener): this;
125 prependListener(event: 'checkExpectation', listener: http.RequestListener): this;
126 prependListener(event: 'clientError', listener: (err: Error, socket: Duplex) => void): this;
127 prependListener(event: 'connect', listener: (req: http.IncomingMessage, socket: Duplex, head: Buffer) => void): this;
128 prependListener(event: 'request', listener: http.RequestListener): this;
129 prependListener(event: 'upgrade', listener: (req: http.IncomingMessage, socket: Duplex, head: Buffer) => void): this;
130 prependOnceListener(event: string, listener: (...args: any[]) => void): this;
131 prependOnceListener(event: 'keylog', listener: (line: Buffer, tlsSocket: tls.TLSSocket) => void): this;
132 prependOnceListener(event: 'newSession', listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this;
133 prependOnceListener(event: 'OCSPRequest', listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this;
134 prependOnceListener(event: 'resumeSession', listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this;
135 prependOnceListener(event: 'secureConnection', listener: (tlsSocket: tls.TLSSocket) => void): this;
136 prependOnceListener(event: 'tlsClientError', listener: (err: Error, tlsSocket: tls.TLSSocket) => void): this;
137 prependOnceListener(event: 'close', listener: () => void): this;
138 prependOnceListener(event: 'connection', listener: (socket: Duplex) => void): this;
139 prependOnceListener(event: 'error', listener: (err: Error) => void): this;
140 prependOnceListener(event: 'listening', listener: () => void): this;
141 prependOnceListener(event: 'checkContinue', listener: http.RequestListener): this;
142 prependOnceListener(event: 'checkExpectation', listener: http.RequestListener): this;
143 prependOnceListener(event: 'clientError', listener: (err: Error, socket: Duplex) => void): this;
144 prependOnceListener(event: 'connect', listener: (req: http.IncomingMessage, socket: Duplex, head: Buffer) => void): this;
145 prependOnceListener(event: 'request', listener: http.RequestListener): this;
146 prependOnceListener(event: 'upgrade', listener: (req: http.IncomingMessage, socket: Duplex, head: Buffer) => void): this;
147 }
148
149 function createServer(requestListener?: http.RequestListener): Server;
150 function createServer(options: ServerOptions, requestListener?: http.RequestListener): Server;
151 function request(options: RequestOptions | string | URL, callback?: (res: http.IncomingMessage) => void): http.ClientRequest;
152 function request(url: string | URL, options: RequestOptions, callback?: (res: http.IncomingMessage) => void): http.ClientRequest;
153 function get(options: RequestOptions | string | URL, callback?: (res: http.IncomingMessage) => void): http.ClientRequest;
154 function get(url: string | URL, options: RequestOptions, callback?: (res: http.IncomingMessage) => void): http.ClientRequest;
155 let globalAgent: Agent;
156}