Documentation ¶
Overview ¶
Package `reverseproxy` forwards the requests to backends. It gets additional request headers from `header_injectors`, and adds to the forwarding request to downstream.
Index ¶
Constants ¶
View Source
const ( ProbeStatusCode = http.StatusOK ProbeResponse = "OK" )
Variables ¶
This section is empty.
Functions ¶
func IsKubernetesProbeRequest ¶ added in v0.3.0
Types ¶
type HTTPHandler ¶
type HTTPHandler struct { // required, the URL that requests will be forwarding to To *url.URL // optional, preserve the host in outbound requests PreserveHost bool // optional, but in fact required, injecting fingerprint headers to outbound requests HeaderInjectors []HeaderInjector // optional, if IsProbeRequest returns true, handler will respond with // a HTTP 200 OK instead of forwarding requests, useful for kubernetes // liveness/readiness probes. defaults to nil, which disables this behavior IsProbeRequest func(*http.Request) bool // contains filtered or unexported fields }
func NewHTTPHandler ¶
func NewHTTPHandler(to *url.URL, reverseProxy *httputil.ReverseProxy, headerInjectors []HeaderInjector) *HTTPHandler
NewHTTPHandler creates an HTTP handler, changes `reverseProxy.Rewrite` to support request header injection, then assigns `reverseProxy` to the handler which proxies requests to backend
func (*HTTPHandler) ServeHTTP ¶
func (f *HTTPHandler) ServeHTTP(w http.ResponseWriter, req *http.Request)
Click to show internal directories.
Click to hide internal directories.