Skip to content
This repository was archived by the owner on Mar 10, 2020. It is now read-only.

Commit d25c6f6

Browse files
Pedro SantosAlan Shaw
Pedro Santos
authored and
Alan Shaw
committed
fix: handle err on both start and stop echo-server (#569)
* fix: handle err on both start and stop echo-server * fix: add 'error' event to both server start and close * chore: code review changes
1 parent d8b65ef commit d25c6f6

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

Diff for: src/utils/echo-http-server.js

+14-4
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,21 @@ module.exports.createServer = () => {
4343

4444
const server = http.createServer(handler)
4545

46-
server.start = (opts) => new Promise(
47-
(resolve) => server.listen(Object.assign({ port: defaultPort, host: '127.0.0.1' }, opts), resolve)
48-
)
46+
server.start = (opts) => new Promise((resolve, reject) => {
47+
server.once('error', reject)
48+
server.listen(Object.assign({ port: defaultPort, host: '127.0.0.1' }, opts), () => {
49+
server.removeListener('error', reject)
50+
resolve()
51+
})
52+
})
4953

50-
server.stop = () => new Promise((resolve) => server.close(resolve))
54+
server.stop = () => new Promise((resolve, reject) => {
55+
server.once('error', reject)
56+
server.close((err) => {
57+
server.removeListener('error', reject)
58+
err ? reject(err) : resolve()
59+
})
60+
})
5161

5262
return server
5363
}

0 commit comments

Comments
 (0)