UNPKG

11.7 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; // Defaults to true
11 servername?: string; // SNI TLS Extension
12 };
13
14 interface AgentOptions extends http.AgentOptions, tls.ConnectionOptions {
15 rejectUnauthorized?: boolean;
16 maxCachedSessions?: number;
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 addListener(event: string, listener: (...args: any[]) => void): this;
29 addListener(event: 'keylog', listener: (line: Buffer, tlsSocket: tls.TLSSocket) => void): this;
30 addListener(event: 'newSession', listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this;
31 addListener(event: 'OCSPRequest', listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this;
32 addListener(event: 'resumeSession', listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this;
33 addListener(event: 'secureConnection', listener: (tlsSocket: tls.TLSSocket) => void): this;
34 addListener(event: 'tlsClientError', listener: (err: Error, tlsSocket: tls.TLSSocket) => void): this;
35 addListener(event: 'close', listener: () => void): this;
36 addListener(event: 'connection', listener: (socket: Duplex) => void): this;
37 addListener(event: 'error', listener: (err: Error) => void): this;
38 addListener(event: 'listening', listener: () => void): this;
39 addListener(event: 'checkContinue', listener: http.RequestListener): this;
40 addListener(event: 'checkExpectation', listener: http.RequestListener): this;
41 addListener(event: 'clientError', listener: (err: Error, socket: Duplex) => void): this;
42 addListener(event: 'connect', listener: (req: http.IncomingMessage, socket: Duplex, head: Buffer) => void): this;
43 addListener(event: 'request', listener: http.RequestListener): this;
44 addListener(event: 'upgrade', listener: (req: http.IncomingMessage, socket: Duplex, head: Buffer) => void): this;
45 emit(event: string, ...args: any[]): boolean;
46 emit(event: 'keylog', line: Buffer, tlsSocket: tls.TLSSocket): boolean;
47 emit(event: 'newSession', sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void): boolean;
48 emit(event: 'OCSPRequest', certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void): boolean;
49 emit(event: 'resumeSession', sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void): boolean;
50 emit(event: 'secureConnection', tlsSocket: tls.TLSSocket): boolean;
51 emit(event: 'tlsClientError', err: Error, tlsSocket: tls.TLSSocket): boolean;
52 emit(event: 'close'): boolean;
53 emit(event: 'connection', socket: Duplex): boolean;
54 emit(event: 'error', err: Error): boolean;
55 emit(event: 'listening'): boolean;
56 emit(event: 'checkContinue', req: http.IncomingMessage, res: http.ServerResponse): boolean;
57 emit(event: 'checkExpectation', req: http.IncomingMessage, res: http.ServerResponse): boolean;
58 emit(event: 'clientError', err: Error, socket: Duplex): boolean;
59 emit(event: 'connect', req: http.IncomingMessage, socket: Duplex, head: Buffer): boolean;
60 emit(event: 'request', req: http.IncomingMessage, res: http.ServerResponse): boolean;
61 emit(event: 'upgrade', req: http.IncomingMessage, socket: Duplex, head: Buffer): boolean;
62 on(event: string, listener: (...args: any[]) => void): this;
63 on(event: 'keylog', listener: (line: Buffer, tlsSocket: tls.TLSSocket) => void): this;
64 on(event: 'newSession', listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this;
65 on(event: 'OCSPRequest', listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this;
66 on(event: 'resumeSession', listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this;
67 on(event: 'secureConnection', listener: (tlsSocket: tls.TLSSocket) => void): this;
68 on(event: 'tlsClientError', listener: (err: Error, tlsSocket: tls.TLSSocket) => void): this;
69 on(event: 'close', listener: () => void): this;
70 on(event: 'connection', listener: (socket: Duplex) => void): this;
71 on(event: 'error', listener: (err: Error) => void): this;
72 on(event: 'listening', listener: () => void): this;
73 on(event: 'checkContinue', listener: http.RequestListener): this;
74 on(event: 'checkExpectation', listener: http.RequestListener): this;
75 on(event: 'clientError', listener: (err: Error, socket: Duplex) => void): this;
76 on(event: 'connect', listener: (req: http.IncomingMessage, socket: Duplex, head: Buffer) => void): this;
77 on(event: 'request', listener: http.RequestListener): this;
78 on(event: 'upgrade', listener: (req: http.IncomingMessage, socket: Duplex, head: Buffer) => void): this;
79 once(event: string, listener: (...args: any[]) => void): this;
80 once(event: 'keylog', listener: (line: Buffer, tlsSocket: tls.TLSSocket) => void): this;
81 once(event: 'newSession', listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this;
82 once(event: 'OCSPRequest', listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this;
83 once(event: 'resumeSession', listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this;
84 once(event: 'secureConnection', listener: (tlsSocket: tls.TLSSocket) => void): this;
85 once(event: 'tlsClientError', listener: (err: Error, tlsSocket: tls.TLSSocket) => void): this;
86 once(event: 'close', listener: () => void): this;
87 once(event: 'connection', listener: (socket: Duplex) => void): this;
88 once(event: 'error', listener: (err: Error) => void): this;
89 once(event: 'listening', listener: () => void): this;
90 once(event: 'checkContinue', listener: http.RequestListener): this;
91 once(event: 'checkExpectation', listener: http.RequestListener): this;
92 once(event: 'clientError', listener: (err: Error, socket: Duplex) => void): this;
93 once(event: 'connect', listener: (req: http.IncomingMessage, socket: Duplex, head: Buffer) => void): this;
94 once(event: 'request', listener: http.RequestListener): this;
95 once(event: 'upgrade', listener: (req: http.IncomingMessage, socket: Duplex, head: Buffer) => void): this;
96 prependListener(event: string, listener: (...args: any[]) => void): this;
97 prependListener(event: 'keylog', listener: (line: Buffer, tlsSocket: tls.TLSSocket) => void): this;
98 prependListener(event: 'newSession', listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this;
99 prependListener(event: 'OCSPRequest', listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this;
100 prependListener(event: 'resumeSession', listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this;
101 prependListener(event: 'secureConnection', listener: (tlsSocket: tls.TLSSocket) => void): this;
102 prependListener(event: 'tlsClientError', listener: (err: Error, tlsSocket: tls.TLSSocket) => void): this;
103 prependListener(event: 'close', listener: () => void): this;
104 prependListener(event: 'connection', listener: (socket: Duplex) => void): this;
105 prependListener(event: 'error', listener: (err: Error) => void): this;
106 prependListener(event: 'listening', listener: () => void): this;
107 prependListener(event: 'checkContinue', listener: http.RequestListener): this;
108 prependListener(event: 'checkExpectation', listener: http.RequestListener): this;
109 prependListener(event: 'clientError', listener: (err: Error, socket: Duplex) => void): this;
110 prependListener(event: 'connect', listener: (req: http.IncomingMessage, socket: Duplex, head: Buffer) => void): this;
111 prependListener(event: 'request', listener: http.RequestListener): this;
112 prependListener(event: 'upgrade', listener: (req: http.IncomingMessage, socket: Duplex, head: Buffer) => void): this;
113 prependOnceListener(event: string, listener: (...args: any[]) => void): this;
114 prependOnceListener(event: 'keylog', listener: (line: Buffer, tlsSocket: tls.TLSSocket) => void): this;
115 prependOnceListener(event: 'newSession', listener: (sessionId: Buffer, sessionData: Buffer, callback: (err: Error, resp: Buffer) => void) => void): this;
116 prependOnceListener(event: 'OCSPRequest', listener: (certificate: Buffer, issuer: Buffer, callback: (err: Error | null, resp: Buffer) => void) => void): this;
117 prependOnceListener(event: 'resumeSession', listener: (sessionId: Buffer, callback: (err: Error, sessionData: Buffer) => void) => void): this;
118 prependOnceListener(event: 'secureConnection', listener: (tlsSocket: tls.TLSSocket) => void): this;
119 prependOnceListener(event: 'tlsClientError', listener: (err: Error, tlsSocket: tls.TLSSocket) => void): this;
120 prependOnceListener(event: 'close', listener: () => void): this;
121 prependOnceListener(event: 'connection', listener: (socket: Duplex) => void): this;
122 prependOnceListener(event: 'error', listener: (err: Error) => void): this;
123 prependOnceListener(event: 'listening', listener: () => void): this;
124 prependOnceListener(event: 'checkContinue', listener: http.RequestListener): this;
125 prependOnceListener(event: 'checkExpectation', listener: http.RequestListener): this;
126 prependOnceListener(event: 'clientError', listener: (err: Error, socket: Duplex) => void): this;
127 prependOnceListener(event: 'connect', listener: (req: http.IncomingMessage, socket: Duplex, head: Buffer) => void): this;
128 prependOnceListener(event: 'request', listener: http.RequestListener): this;
129 prependOnceListener(event: 'upgrade', listener: (req: http.IncomingMessage, socket: Duplex, head: Buffer) => void): this;
130 }
131
132 function createServer(requestListener?: http.RequestListener): Server;
133 function createServer(options: ServerOptions, requestListener?: http.RequestListener): Server;
134 function request(options: RequestOptions | string | URL, callback?: (res: http.IncomingMessage) => void): http.ClientRequest;
135 function request(url: string | URL, options: RequestOptions, callback?: (res: http.IncomingMessage) => void): http.ClientRequest;
136 function get(options: RequestOptions | string | URL, callback?: (res: http.IncomingMessage) => void): http.ClientRequest;
137 function get(url: string | URL, options: RequestOptions, callback?: (res: http.IncomingMessage) => void): http.ClientRequest;
138 let globalAgent: Agent;
139}