go-kit / kit

A standard library for microservices.
https://gokit.io
MIT License
26.53k stars 2.43k forks source link

Support for overriding ErrorHandler in httputil.ReverseProxy #1234

Closed kayvonkhosrowpour closed 2 years ago

kayvonkhosrowpour commented 2 years ago

What would you like?

Motivation I am using the https://pkg.go.dev/github.com/go-kit/kit/transport/httprp package for a reverse proxy. If the client disconnects or the connection is dropped, an error is produced in our logs:

http: proxy error: context canceled

Digging into the go-kit source code, the httputil.ReverseProxy is created but it's not possible to set the ErrorHandler function, which is responsible for logging the above error message. This clutters our logs and doesn't let us control how errors are handled in our application.

See more here: https://github.com/golang/go/issues/20071

Proposal To follow along with the ServerOption abstraction, perhaps a new option can be added which can allow users to override the default ErrorHandler.

peterbourgon commented 2 years ago

The httprp.Server is tiny, and in truth was only meant as a kind of tech demo. I don't think it makes sense to add capabilities to it. Better for you to copy/paste it to your own repo.