Don't forward body for GET/HEAD requests in proxy
Passing req.body (a ReadableStream) for GET requests could cause the unix socket fetch to hang waiting for body data, especially when the upstream toes proxy has already stripped content-length. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
89bf052ca1
commit
6774b456a9
|
|
@ -29,10 +29,12 @@ function proxyFetch(req: Request): Promise<Response> | Response {
|
||||||
.catch(() => new Response('unhealthy', { status: 503 }))
|
.catch(() => new Response('unhealthy', { status: 503 }))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const hasBody = req.method !== 'GET' && req.method !== 'HEAD'
|
||||||
|
|
||||||
return fetch(`http://localhost${url.pathname}${url.search}`, {
|
return fetch(`http://localhost${url.pathname}${url.search}`, {
|
||||||
method: req.method,
|
method: req.method,
|
||||||
headers: req.headers,
|
headers: req.headers,
|
||||||
body: req.body,
|
body: hasBody ? req.body : undefined,
|
||||||
unix: SOCKET_PATH,
|
unix: SOCKET_PATH,
|
||||||
}).catch((e) => {
|
}).catch((e) => {
|
||||||
console.error('Proxy error:', e)
|
console.error('Proxy error:', e)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user