fix: destroy client socket on upstream mid-stream error
Prevents hanging connections when the upstream response stream errors after headers have already been sent to the client. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -410,6 +410,7 @@ async function handleRequest(req, res, pool) {
|
||||
|
||||
upstreamRes.on("error", async (err) => {
|
||||
completed = true
|
||||
res.destroy()
|
||||
const requestCompletedAt = new Date()
|
||||
const latencyMs = requestCompletedAt.getTime() - requestStartedAt.getTime()
|
||||
await failUsageEvent(pool, eventId, {
|
||||
@@ -493,6 +494,7 @@ async function handleRequest(req, res, pool) {
|
||||
})
|
||||
|
||||
upstreamRes.on("error", async (err) => {
|
||||
res.destroy()
|
||||
const requestCompletedAt = new Date()
|
||||
const latencyMs = requestCompletedAt.getTime() - requestStartedAt.getTime()
|
||||
await failUsageEvent(pool, eventId, {
|
||||
|
||||
Reference in New Issue
Block a user