Commit 9e9b8a3 1 parent 3ecc607 commit 9e9b8a3 Copy full SHA for 9e9b8a3
File tree 3 files changed +37
-0
lines changed
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
135
135
136
136
See [ ` server.close() ` ] [ ] in the ` node:http ` module.
137
137
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
+
138
149
### ` server.closeAllConnections() `
139
150
140
151
<!-- YAML
@@ -566,4 +577,5 @@ headers: max-age=0; pin-sha256="WoiWRyIOVNa9ihaBciRSC7XHjliYS9VwUGOIud4PB18="; p
566
577
[ `tls.connect()` ] : tls.md#tlsconnectoptions-callback
567
578
[ `tls.createSecureContext()` ] : tls.md#tlscreatesecurecontextoptions
568
579
[ `tls.createServer()` ] : tls.md#tlscreateserveroptions-secureconnectionlistener
580
+ [ httpsServerClose ] : #serverclosecallback
569
581
[ 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 {
33
33
ObjectSetPrototypeOf,
34
34
ReflectApply,
35
35
ReflectConstruct,
36
+ SymbolAsyncDispose,
36
37
} = primordials ;
37
38
38
39
const {
39
40
assertCrypto,
40
41
kEmptyObject,
42
+ promisify,
41
43
} = require ( 'internal/util' ) ;
42
44
assertCrypto ( ) ;
43
45
@@ -104,6 +106,10 @@ Server.prototype.close = function() {
104
106
ReflectApply ( tls . Server . prototype . close , this , arguments ) ;
105
107
} ;
106
108
109
+ Server . prototype [ SymbolAsyncDispose ] = async function ( ) {
110
+ return FunctionPrototypeCall ( promisify ( this . close ) , this ) ;
111
+ } ;
112
+
107
113
/**
108
114
* Creates a new `https.Server` instance.
109
115
* @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