Skip to content

Commit 34ffa40

Browse files
committed
fix: multiple onFinish calls
1 parent 7b13a8c commit 34ffa40

File tree

1 file changed

+19
-17
lines changed

1 file changed

+19
-17
lines changed

index.js

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -182,21 +182,6 @@ function onFinish (err, statusCode = 500) {
182182
return
183183
}
184184

185-
if (res[kProxyReq]) {
186-
res[kProxyReq].abort()
187-
res[kProxyReq] = null
188-
}
189-
190-
if (res[kProxySocket]) {
191-
res[kProxySocket].end()
192-
res[kProxySocket] = null
193-
}
194-
195-
if (res[kProxyRes]) {
196-
res[kProxyRes].destroy()
197-
res[kProxyRes] = null
198-
}
199-
200185
if (err) {
201186
err.statusCode = statusCode || err.statusCode || 500
202187
err.code = err.code || res.code
@@ -221,8 +206,25 @@ function onFinish (err, statusCode = 500) {
221206
res.end()
222207
}
223208

224-
res[kProxyCallback].call(null, err, res[kReq], res)
225-
res[kProxyCallback] = null
209+
if (res[kProxyCallback]) {
210+
res[kProxyCallback].call(null, err, res[kReq], res)
211+
res[kProxyCallback] = null
212+
}
213+
214+
if (res[kProxyReq]) {
215+
res[kProxyReq].abort()
216+
res[kProxyReq] = null
217+
}
218+
219+
if (res[kProxySocket]) {
220+
res[kProxySocket].end()
221+
res[kProxySocket] = null
222+
}
223+
224+
if (res[kProxyRes]) {
225+
res[kProxyRes].destroy()
226+
res[kProxyRes] = null
227+
}
226228
}
227229

228230
function onRequestTimeout () {

0 commit comments

Comments
 (0)