From 9b43c9167cff817c60fa29dbda2ef7cd938aff51 Mon Sep 17 00:00:00 2001 From: h110m Date: Mon, 25 Apr 2022 10:28:46 +0200 Subject: [PATCH] fix(typings): add HTTPS server to accepted types (#4351) --- lib/index.ts | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/lib/index.ts b/lib/index.ts index 74d4906559..cfaa49781d 100644 --- a/lib/index.ts +++ b/lib/index.ts @@ -1,4 +1,5 @@ import http = require("http"); +import type { Server as HTTPSServer } from "https"; import { createReadStream } from "fs"; import { createDeflate, createGzip, createBrotliCompress } from "zlib"; import accepts = require("accepts"); @@ -131,7 +132,7 @@ export class Server< * @private */ _connectTimeout: number; - private httpServer: http.Server; + private httpServer: http.Server | HTTPSServer; /** * Server constructor. @@ -141,13 +142,26 @@ export class Server< * @public */ constructor(opts?: Partial); - constructor(srv?: http.Server | number, opts?: Partial); constructor( - srv: undefined | Partial | http.Server | number, + srv?: http.Server | HTTPSServer | number, opts?: Partial ); constructor( - srv: undefined | Partial | http.Server | number, + srv: + | undefined + | Partial + | http.Server + | HTTPSServer + | number, + opts?: Partial + ); + constructor( + srv: + | undefined + | Partial + | http.Server + | HTTPSServer + | number, opts: Partial = {} ) { super(); @@ -167,7 +181,8 @@ export class Server< this.adapter(opts.adapter || Adapter); this.sockets = this.of("/"); this.opts = opts; - if (srv || typeof srv == "number") this.attach(srv as http.Server | number); + if (srv || typeof srv == "number") + this.attach(srv as http.Server | HTTPSServer | number); } /** @@ -300,7 +315,7 @@ export class Server< * @public */ public listen( - srv: http.Server | number, + srv: http.Server | HTTPSServer | number, opts: Partial = {} ): this { return this.attach(srv, opts); @@ -315,7 +330,7 @@ export class Server< * @public */ public attach( - srv: http.Server | number, + srv: http.Server | HTTPSServer | number, opts: Partial = {} ): this { if ("function" == typeof srv) { @@ -421,7 +436,7 @@ export class Server< * @private */ private initEngine( - srv: http.Server, + srv: http.Server | HTTPSServer, opts: EngineOptions & AttachOptions ): void { // initialize engine @@ -444,7 +459,7 @@ export class Server< * @param srv http server * @private */ - private attachServe(srv: http.Server): void { + private attachServe(srv: http.Server | HTTPSServer): void { debug("attaching client serving req handler"); const evs = srv.listeners("request").slice(0);