File tree Expand file tree Collapse file tree 3 files changed +37
-0
lines changed Expand file tree Collapse file tree 3 files changed +37
-0
lines changed Original file line number Diff line number Diff line change @@ -135,6 +135,17 @@ added: v0.1.90
135135
136136See [ ` server.close() ` ] [ ] in the ` node:http ` module.
137137
138+ ### ` server[Symbol.asyncDispose]() `
139+
140+ <!-- YAML
141+ added: REPLACEME
142+ -->
143+
144+ > Stability: 1 - Experimental
145+
146+ Calls [ ` server.close() ` ] [ httpsServerClose ] and returns a promise that
147+ fulfills when the server has closed.
148+
138149### ` server.closeAllConnections() `
139150
140151<!-- YAML
@@ -571,4 +582,5 @@ headers: max-age=0; pin-sha256="WoiWRyIOVNa9ihaBciRSC7XHjliYS9VwUGOIud4PB18="; p
571582[ `tls.connect()` ] : tls.md#tlsconnectoptions-callback
572583[ `tls.createSecureContext()` ] : tls.md#tlscreatesecurecontextoptions
573584[ `tls.createServer()` ] : tls.md#tlscreateserveroptions-secureconnectionlistener
585+ [ httpsServerClose ] : #serverclosecallback
574586[ sni wiki ] : https://en.wikipedia.org/wiki/Server_Name_Indication
Original file line number Diff line number Diff line change @@ -33,11 +33,13 @@ const {
3333 ObjectSetPrototypeOf,
3434 ReflectApply,
3535 ReflectConstruct,
36+ SymbolAsyncDispose,
3637} = primordials ;
3738
3839const {
3940 assertCrypto,
4041 kEmptyObject,
42+ promisify,
4143} = require ( 'internal/util' ) ;
4244assertCrypto ( ) ;
4345
@@ -110,6 +112,10 @@ Server.prototype.close = function() {
110112 ReflectApply ( tls . Server . prototype . close , this , arguments ) ;
111113} ;
112114
115+ Server . prototype [ SymbolAsyncDispose ] = async function ( ) {
116+ return FunctionPrototypeCall ( promisify ( this . close ) , this ) ;
117+ } ;
118+
113119/**
114120 * Creates a new `https.Server` instance.
115121 * @param {{
Original file line number Diff line number Diff line change 1+ 'use strict' ;
2+
3+ const common = require ( '../common' ) ;
4+
5+ if ( ! common . hasCrypto )
6+ common . skip ( 'missing crypto' ) ;
7+
8+ const assert = require ( 'assert' ) ;
9+ const { createServer } = require ( 'https' ) ;
10+ const { kConnectionsCheckingInterval } = require ( '_http_server' ) ;
11+
12+ const server = createServer ( ) ;
13+
14+ server . listen ( 0 , common . mustCall ( ( ) => {
15+ server . on ( 'close' , common . mustCall ( ) ) ;
16+ server [ Symbol . asyncDispose ] ( ) . then ( common . mustCall ( ( ) => {
17+ assert ( server [ kConnectionsCheckingInterval ] . _destroyed ) ;
18+ } ) ) ;
19+ } ) ) ;
You can’t perform that action at this time.
0 commit comments