9 Commits
Author SHA1 Message Date
Hudson CavazinandGitHub ccf1b61e20 httpp: propagate Flush() through the response writer wrappers (#6126)
handlerLogger's responseRecorder and handlerWriteTimeout's writeTimeoutWriter
both wrap http.ResponseWriter but implement neither http.Flusher nor Unwrap().
Any handler that flushes mid-response has that flush silently dropped, and its
output only reaches the client when the handler returns.

That defeats the stated purpose of writeTimeoutWriter, whose own comment says it
exists so one can "write long responses, splitted in chunks, without causing
timeouts": the deadline is reset per Write(), but nothing ever leaves the buffer
until the end.

Found while adding a server-sent-events endpoint: events written and flushed at
t=0.4s only reached the client at t=2.2s, when the handler returned.

Adding Flush() plus Unwrap() (so http.ResponseController can reach through) fixes
both. The new test drives a real listener through both wrappers and reads while
the handler is still blocked, so it fails on the current code by hitting the read
deadline.
2026-08-24 14:40:43 +00:00
Alessandro RosandGitHub 90b8d5c943 improve HTTP server performance (#5886)
log incoming requests without cloning.
2026-06-20 12:03:35 +02:00
Alessandro RosandGitHub 28d648da37 move Content-Types to log in a map (#5875) 2026-06-20 09:35:55 +02:00
varun-nominalandGitHub 472e86d48c redact sensitive headers in HTTP debug logs (#5873) 2026-06-20 09:19:01 +02:00
Alessandro RosandGitHub d0cf294637 print body of selected HTTP responses when log level is debug (#5859) 2026-06-11 00:53:52 +02:00
Alessandro RosandGitHub 959f58cee9 limit size of HTTP requests shown in debug logs (#5858) 2026-06-11 00:31:10 +02:00
JulienCossecandGitHub 184899dfab fix: avoid buffering HTTP response body in loggerWriter (#5552)
loggerWriter was shadow-copying every response byte into a bytes.Buffer
to report the body size, causing the entire response to be accumulated
in memory for the lifetime of each request. Replace the buffer with a
plain int counter since dump() only ever reported the byte count anyway.
2026-03-07 18:36:10 +01:00
Alessandro RosandGitHub 7634370818 add read and write timeouts in HTTP servers (#5056)
this prevents zombie connections from piling up.
2025-10-04 10:01:21 +02:00
Alessandro RosandGitHub 3161e73a58 rename httpserv into httpp (#3014) 2024-02-13 13:04:56 +01:00