Documentation ¶
Overview ¶
Package proxy provides transport and upgrade support for proxies.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type ErrorResponder ¶
type ErrorResponder interface {
Error(err error)
}
ErrorResponder abstracts error reporting to the proxy handler to remove the need to hardcode a particular error format.
type Transport ¶
type Transport struct { Scheme string Host string PathPrepend string http.RoundTripper }
Transport is a transport for text/html content that replaces URLs in html content with the prefix of the proxy server
func (*Transport) WrappedRoundTripper ¶
func (rt *Transport) WrappedRoundTripper() http.RoundTripper
type UpgradeAwareHandler ¶
type UpgradeAwareHandler struct { UpgradeRequired bool Location *url.URL // Transport provides an optional round tripper to use to proxy. If nil, the default proxy transport is used Transport http.RoundTripper // WrapTransport indicates whether the provided Transport should be wrapped with default proxy transport behavior (URL rewriting, X-Forwarded-* header setting) WrapTransport bool // InterceptRedirects determines whether the proxy should sniff backend responses for redirects, // following them as necessary. InterceptRedirects bool FlushInterval time.Duration MaxBytesPerSec int64 Responder ErrorResponder }
UpgradeAwareHandler is a handler for proxy requests that may require an upgrade
func NewUpgradeAwareHandler ¶
func NewUpgradeAwareHandler(location *url.URL, transport http.RoundTripper, wrapTransport, upgradeRequired bool, responder ErrorResponder) *UpgradeAwareHandler
NewUpgradeAwareHandler creates a new proxy handler with a default flush interval. Responder is required for returning errors to the caller.
func (*UpgradeAwareHandler) ServeHTTP ¶
func (h *UpgradeAwareHandler) ServeHTTP(w http.ResponseWriter, req *http.Request)
ServeHTTP handles the proxy request
Click to show internal directories.
Click to hide internal directories.