From 8731cc0307011e143800060ba873aea3620a0aa1 Mon Sep 17 00:00:00 2001 From: Owen Qwen Date: Tue, 21 Jul 2026 16:56:41 -0500 Subject: [PATCH] better logs --- src/proxy.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/proxy.js b/src/proxy.js index 3779e91..ebaa65b 100644 --- a/src/proxy.js +++ b/src/proxy.js @@ -447,5 +447,16 @@ export function createProxyApp({ keys, keyRotator = createKeyRotator(keys), fetc } }); + // `express.json()` reports a client that closes its upload stream as a + // `request.aborted` error. At that point there is no client left to send a + // response to, so prevent Express's default error handler from printing a + // misleading stack trace for an expected disconnect. + app.use((error, request, response, next) => { + if (error?.type !== 'request.aborted') return next(error); + + response.statusCode = 499; // Conventional internal status for client-closed requests. + console.warn(`Client disconnected while uploading request body: ${request.method} ${request.originalUrl} from ${clientIp(request)}`); + }); + return app; }