rproxy: leave no visitor without an answer as the response time runs out (closes #295)
check / check (push) Successful in 3m55s

A visitor could get a closed connection and no answer when
SWRP_MAX_RESPONSE_TIME_MS ran out about when the answer started: the
write deadline passed before the first byte was written.

- An answer rproxy gives itself has at least 10 seconds to be sent.
- An app's answer that arrives once the time has run out is answered
  504.
- Otherwise the app's status and headers are sent at once, before the
  body is read, with at least 10 seconds. The exact limit applies to
  the rest.

Model: opus-5-5
This commit is contained in:
sneak committed 2026-11-10 18:47:35 +00:00
1 parent 8ab4280792
commit eb5f4016aa
5 files changed
+134 -13

No files matched your search

+3 -1
View File
@@ -2245,7 +2245,9 @@ These limits apply per request, in both directions:
- `SWRP_MAX_RESPONSE_TIME_MS` runs from the end of the request to the last byte
of the answer reaching the visitor. The request ends when the app has been
sent all of it, or when the app's answer arrives if that is sooner. An answer
`rproxy` gives itself has the whole time from when it starts.
`rproxy` gives itself has the whole time from when it starts, and never less
than 10 seconds. The status and headers of the app's answer also have at least
10 seconds to be sent.
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