Skip to content

Commit d3d0a2d

Browse files
committedOct 14, 2022
fix(typings): accept an HTTP2 server in the constructor
Related: - #4434 - #4494
1 parent 19b225b commit d3d0a2d

File tree

1 file changed

+14
-7
lines changed

1 file changed

+14
-7
lines changed
 

‎lib/index.ts

+14-7
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import http = require("http");
22
import type { Server as HTTPSServer } from "https";
3+
import type { Http2SecureServer } from "http2";
34
import { createReadStream } from "fs";
45
import { createDeflate, createGzip, createBrotliCompress } from "zlib";
56
import accepts = require("accepts");
@@ -155,7 +156,7 @@ export class Server<
155156
* @private
156157
*/
157158
_connectTimeout: number;
158-
private httpServer: http.Server | HTTPSServer;
159+
private httpServer: http.Server | HTTPSServer | Http2SecureServer;
159160

160161
/**
161162
* Server constructor.
@@ -165,7 +166,7 @@ export class Server<
165166
*/
166167
constructor(opts?: Partial<ServerOptions>);
167168
constructor(
168-
srv?: http.Server | HTTPSServer | number,
169+
srv?: http.Server | HTTPSServer | Http2SecureServer | number,
169170
opts?: Partial<ServerOptions>
170171
);
171172
constructor(
@@ -174,6 +175,7 @@ export class Server<
174175
| Partial<ServerOptions>
175176
| http.Server
176177
| HTTPSServer
178+
| Http2SecureServer
177179
| number,
178180
opts?: Partial<ServerOptions>
179181
);
@@ -183,6 +185,7 @@ export class Server<
183185
| Partial<ServerOptions>
184186
| http.Server
185187
| HTTPSServer
188+
| Http2SecureServer
186189
| number,
187190
opts: Partial<ServerOptions> = {}
188191
) {
@@ -204,7 +207,9 @@ export class Server<
204207
this.sockets = this.of("/");
205208
this.opts = opts;
206209
if (srv || typeof srv == "number")
207-
this.attach(srv as http.Server | HTTPSServer | number);
210+
this.attach(
211+
srv as http.Server | HTTPSServer | Http2SecureServer | number
212+
);
208213
}
209214

210215
/**
@@ -332,7 +337,7 @@ export class Server<
332337
* @return self
333338
*/
334339
public listen(
335-
srv: http.Server | HTTPSServer | number,
340+
srv: http.Server | HTTPSServer | Http2SecureServer | number,
336341
opts: Partial<ServerOptions> = {}
337342
): this {
338343
return this.attach(srv, opts);
@@ -346,7 +351,7 @@ export class Server<
346351
* @return self
347352
*/
348353
public attach(
349-
srv: http.Server | HTTPSServer | number,
354+
srv: http.Server | HTTPSServer | Http2SecureServer | number,
350355
opts: Partial<ServerOptions> = {}
351356
): this {
352357
if ("function" == typeof srv) {
@@ -452,7 +457,7 @@ export class Server<
452457
* @private
453458
*/
454459
private initEngine(
455-
srv: http.Server | HTTPSServer,
460+
srv: http.Server | HTTPSServer | Http2SecureServer,
456461
opts: EngineOptions & AttachOptions
457462
): void {
458463
// initialize engine
@@ -475,7 +480,9 @@ export class Server<
475480
* @param srv http server
476481
* @private
477482
*/
478-
private attachServe(srv: http.Server | HTTPSServer): void {
483+
private attachServe(
484+
srv: http.Server | HTTPSServer | Http2SecureServer
485+
): void {
479486
debug("attaching client serving req handler");
480487

481488
const evs = srv.listeners("request").slice(0);

0 commit comments

Comments
 (0)
Please sign in to comment.