1
1
'use strict'
2
2
3
3
const { createHash } = require ( 'crypto' )
4
- const EventEmitter = require ( 'events' )
4
+ const { EventEmitter, once } = require ( 'events' )
5
5
const http = require ( 'http' )
6
6
const express = require ( 'express' )
7
7
const bodyParser = require ( 'body-parser' )
@@ -17,11 +17,11 @@ module.exports = class FakeAgent extends EventEmitter {
17
17
this . _sockets = new Set ( )
18
18
}
19
19
20
- async start ( ) {
20
+ start ( ) {
21
21
return new Promise ( ( resolve , reject ) => {
22
22
const timeoutObj = setTimeout ( ( ) => {
23
23
reject ( new Error ( 'agent timed out starting up' ) )
24
- } , 10000 )
24
+ } , 10_000 )
25
25
this . server = http . createServer ( buildExpressServer ( this ) )
26
26
this . server . on ( 'error' , reject )
27
27
@@ -42,17 +42,15 @@ module.exports = class FakeAgent extends EventEmitter {
42
42
}
43
43
44
44
stop ( ) {
45
- if ( ! this . server ) return Promise . resolve ( )
45
+ if ( ! this . server ?. listening ) return
46
46
47
- return new Promise ( ( resolve ) => {
48
- if ( ! this . server ?. listening ) return resolve ( )
49
- for ( const socket of this . _sockets ) {
50
- socket . destroy ( )
51
- }
52
- this . _sockets . clear ( )
53
- this . server . on ( 'close' , resolve )
54
- this . server . close ( )
55
- } )
47
+ for ( const socket of this . _sockets ) {
48
+ socket . destroy ( )
49
+ }
50
+ this . _sockets . clear ( )
51
+ this . server . close ( )
52
+
53
+ return once ( this . server , 'close' )
56
54
}
57
55
58
56
/**
0 commit comments