small refactor

This commit is contained in:
yusing 2025-02-20 17:45:03 +08:00
parent 3ce3520c45
commit c66b17583f
2 changed files with 5 additions and 1 deletions

View file

@ -410,7 +410,7 @@ func (p *ReverseProxy) handler(rw http.ResponseWriter, req *http.Request) {
rw.WriteHeader(res.StatusCode) rw.WriteHeader(res.StatusCode)
err = U.CopyClose(U.NewContextWriter(ctx, rw), U.NewContextReader(ctx, res.Body)) // close now, instead of defer, to populate res.Trailer err = U.CopyCloseWithContext(ctx, rw, res.Body) // close now, instead of defer, to populate res.Trailer
if err != nil { if err != nil {
if !errors.Is(err, context.Canceled) { if !errors.Is(err, context.Canceled) {
p.errorHandler(rw, req, err, false) p.errorHandler(rw, req, err, false)

View file

@ -223,3 +223,7 @@ func CopyClose(dst *ContextWriter, src *ContextReader) (err error) {
} }
} }
} }
func CopyCloseWithContext(ctx context.Context, dst io.Writer, src io.Reader) (err error) {
return CopyClose(NewContextWriter(ctx, dst), NewContextReader(ctx, src))
}