Skip to content

Commit f86045e

Browse files
fixup: address review feedback
- Guard Readable.fromWeb against null body (204/304 responses) - Add socket error handlers to CONNECT tunnel in proxy test - Destroy socket in noproxy test's CONNECT handler so a regression fails fast instead of hanging
1 parent 8dd155c commit f86045e

2 files changed

Lines changed: 7 additions & 2 deletions

File tree

lib/download.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ async function download (gyp, url) {
2828

2929
log.http(res.status, res.url)
3030

31-
const body = Readable.fromWeb(res.body)
31+
const body = res.body ? Readable.fromWeb(res.body) : Readable.from([])
3232
return {
3333
status: res.status,
3434
url: res.url,

test/test-download.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,8 @@ describe('download', function () {
8686
serverSocket.pipe(clientSocket)
8787
clientSocket.pipe(serverSocket)
8888
})
89+
clientSocket.on('error', () => serverSocket.destroy())
90+
serverSocket.on('error', () => clientSocket.destroy())
8991
})
9092

9193
after(() => Promise.all([
@@ -118,7 +120,10 @@ describe('download', function () {
118120

119121
let proxyUsed = false
120122
const pserver = http.createServer()
121-
pserver.on('connect', () => { proxyUsed = true })
123+
pserver.on('connect', (_, socket) => {
124+
proxyUsed = true
125+
socket.destroy()
126+
})
122127

123128
after(() => Promise.all([
124129
new Promise((resolve) => server.close(resolve)),

0 commit comments

Comments
 (0)