@@ -20,14 +20,13 @@ class Server extends EventEmitter<Server.Events> {
2020 * This server's route registry.
2121 */
2222 public readonly routes = new RouteRegistry ( ) ;
23- private readonly server : http . Server ;
24- private readonly copyOrigin : boolean ;
25- private readonly handleConditionalRequests : boolean ;
26-
2723 /**
2824 * This server's error registry.
2925 */
3026 public readonly errors = new ServerErrorRegistry ( ) ;
27+ private readonly server : http . Server ;
28+ private readonly copyOrigin : boolean ;
29+ private readonly handleConditionalRequests : boolean ;
3130
3231 /**
3332 * Create a new HTTP server.
@@ -59,6 +58,20 @@ class Server extends EventEmitter<Server.Events> {
5958 return this . server . keepAliveTimeout ;
6059 }
6160
61+ public async close ( ) : Promise < void > {
62+ this . emit ( "closing" ) ;
63+ await Promise . race ( [
64+ new Promise < void > ( resolve => {
65+ this . server . close ( ( ) => resolve ( ) ) ;
66+ } ) ,
67+ new Promise < void > ( resolve => setTimeout ( ( ) => {
68+ this . server . closeAllConnections ( ) ;
69+ resolve ( ) ;
70+ } , 5000 ) ) ,
71+ ] ) ;
72+ this . emit ( "closed" ) ;
73+ }
74+
6275 private async listener ( req : http . IncomingMessage , res : http . ServerResponse ) {
6376 let apiRequest : Request ;
6477 try {
@@ -142,20 +155,6 @@ class Server extends EventEmitter<Server.Events> {
142155 . split ( "," )
143156 . map ( t => t . trim ( ) )
144157 }
145-
146- public async close ( ) : Promise < void > {
147- this . emit ( "closing" ) ;
148- await Promise . race ( [
149- new Promise < void > ( resolve => {
150- this . server . close ( ( ) => resolve ( ) ) ;
151- } ) ,
152- new Promise < void > ( resolve => setTimeout ( ( ) => {
153- this . server . closeAllConnections ( ) ;
154- resolve ( ) ;
155- } , 5000 ) ) ,
156- ] ) ;
157- this . emit ( "closed" ) ;
158- }
159158}
160159
161160namespace Server {
0 commit comments