File tree Expand file tree Collapse file tree 3 files changed +13
-10
lines changed Expand file tree Collapse file tree 3 files changed +13
-10
lines changed Original file line number Diff line number Diff line change @@ -2,6 +2,7 @@ const http = require('http')
2
2
const Koa = require ( 'koa' )
3
3
const json = require ( 'koa-json' )
4
4
const log = require ( '@ianwalter/log' )
5
+ const enableDestroy = require ( 'server-destroy' )
5
6
6
7
const defaultOptions = { cors : false }
7
8
@@ -36,18 +37,14 @@ module.exports = function createTestServer (options = defaultOptions) {
36
37
// it receives.
37
38
const server = http . createServer ( app . callback ( ) )
38
39
40
+ // Add a destroy method to the server instance.
41
+ // https://github.com/nodejs/node/issues/2642
42
+ enableDestroy ( server )
43
+
39
44
// Add a close method to the Koa app to allow the caller / receiver of the Koa
40
45
// app to close the server when done with it.
41
46
app . close = function close ( ) {
42
- return new Promise ( ( resolve , reject ) => {
43
- server . close ( err => {
44
- if ( err ) {
45
- reject ( err )
46
- } else {
47
- resolve ( app )
48
- }
49
- } )
50
- } )
47
+ return new Promise ( resolve => server . destroy ( resolve ) )
51
48
}
52
49
53
50
// Return the Koa app instance when the server has started listening.
Original file line number Diff line number Diff line change 32
32
"dependencies" : {
33
33
"@ianwalter/log" : " ^2.0.0" ,
34
34
"koa" : " ^2.7.0" ,
35
- "koa-json" : " ^2.0.2"
35
+ "koa-json" : " ^2.0.2" ,
36
+ "server-destroy" : " ^1.0.1"
36
37
},
37
38
"devDependencies" : {
38
39
"@ianwalter/puppeteer-helper" : " ^3.0.0" ,
Original file line number Diff line number Diff line change @@ -4819,6 +4819,11 @@ serialize-javascript@^1.4.0:
4819
4819
resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.6.1.tgz#4d1f697ec49429a847ca6f442a2a755126c4d879"
4820
4820
integrity sha512-A5MOagrPFga4YaKQSWHryl7AXvbQkEqpw4NNYMTNYUNV51bA8ABHgYFpqKx+YFFrw59xMV1qGH1R4AgoNIVgCw==
4821
4821
4822
+ server-destroy@^1.0.1 :
4823
+ version "1.0.1"
4824
+ resolved "https://registry.yarnpkg.com/server-destroy/-/server-destroy-1.0.1.tgz#f13bf928e42b9c3e79383e61cc3998b5d14e6cdd"
4825
+ integrity sha1-8Tv5KOQrnD55OD5hzDmYtdFObN0=
4826
+
4822
4827
set-blocking@~2.0.0 :
4823
4828
version "2.0.0"
4824
4829
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
You can’t perform that action at this time.
0 commit comments