rproxy: send its own answers at once to a visitor that stops sending its body (closes #303)
check / check (push) Successful in 6m26s

An answer rproxy gives itself, such as a deny or a refusal, waited while
Go's server read up to 256 KiB of a body that had not arrived whole. A
visitor that stopped sending got nothing until SWRP_MAX_REQUEST_TIME_MS
ran out, and no bytes at all once that was past the 10 seconds the
answer has to be sent.

send now sets Connection: close in that case, as modifyResponse does for
the app's answer; both call closeAfterAnswer. requestTimedOut no longer
ends that read of Go's server, which no longer happens, so the time the
app's answer started is no longer noted.

Model: opus-5-5
This commit was merged in pull request #304.
This commit is contained in:
clawbot committed 2026-11-10 23:57:52 +01:00
1 parent f64752e3b7
commit e2b27d1c7c
3 files changed
+26 -37

No files matched your search

+4
View File
@@ -2355,6 +2355,10 @@ These limits apply per request, in both directions:
than 10 seconds. The status and headers of the app's answer also have at least
10 seconds to be sent.
`rproxy` may give its own answer, such as a refusal, before the visitor has sent
its whole body. The visitor gets that answer at once, and the connection closes
after it.
The largest request line and headers is 32 KiB. A kept-open connection is closed
after 120 seconds idle. Neither has a setting. traefik, by default, closes an
unused connection after 90 seconds. So traefik closes first, and never sends a