mirror of
https://github.com/tailscale/tailscale.git
synced 2025-12-22 16:46:29 +00:00
tsweb: add Unwrap to loggingResponseWriter for ResponseController (#18195)
The new http.ResponseController type added in Go 1.20: https://go.dev/doc/go1.20#http_responsecontroller requires ResponseWriters that are wrapping the original passed to ServeHTTP to implement an Unwrap method: https://pkg.go.dev/net/http#NewResponseController With this in place, it is possible to call methods such as Flush and SetReadDeadline on a loggingResponseWriter without needing to implement them there ourselves. Updates tailscale/corp#34763 Updates tailscale/corp#34813 Signed-off-by: James Sanderson <jsanderson@tailscale.com>
This commit is contained in:
committed by
GitHub
parent
65182f2119
commit
3ef9787379
@@ -687,6 +687,10 @@ func (lg loggingResponseWriter) Flush() {
|
||||
f.Flush()
|
||||
}
|
||||
|
||||
func (lg *loggingResponseWriter) Unwrap() http.ResponseWriter {
|
||||
return lg.ResponseWriter
|
||||
}
|
||||
|
||||
// errorHandler is an http.Handler that wraps a ReturnHandler to render the
|
||||
// returned errors to the client and pass them back to any logHandlers.
|
||||
type errorHandler struct {
|
||||
|
||||
Reference in New Issue
Block a user