Versions in this module Expand all Collapse all v1 v1.7.0-alpha.1 Apr 5, 2017 v1.7.0-alpha.0 Feb 21, 2017 v1.6.2-beta.0 Apr 3, 2017 v1.6.1 Apr 3, 2017 v1.6.1-beta.0 Mar 28, 2017 v1.6.0 Mar 28, 2017 Changes in this version + func ChooseBindAddress(bindAddress net.IP) (net.IP, error) + func ChooseHostInterface() (net.IP, error) + func CloneTLSConfig(cfg *tls.Config) *tls.Config + func FormatURL(scheme string, host string, port int, path string) *url.URL + func GetClientIP(req *http.Request) net.IP + func GetHTTPClient(req *http.Request) string + func IPNetEqual(ipnet1, ipnet2 *net.IPNet) bool + func IsConnectionReset(err error) bool + func IsProbableEOF(err error) bool + func JoinSchemeNamePort(scheme, name, port string) string + func NewProxierWithNoProxyCIDR(delegate func(req *http.Request) (*url.URL, error)) func(req *http.Request) (*url.URL, error) + func SetOldTransportDefaults(t *http.Transport) *http.Transport + func SetTransportDefaults(t *http.Transport) *http.Transport + func SplitSchemeNamePort(id string) (scheme, name, port string, valid bool) + func TLSClientConfig(transport http.RoundTripper) (*tls.Config, error) + type DialFunc func(net, addr string) (net.Conn, error) + func Dialer(transport http.RoundTripper) (DialFunc, error) + type PortRange struct + Base int + Size int + func ParsePortRange(value string) (*PortRange, error) + func ParsePortRangeOrDie(value string) *PortRange + func (*PortRange) Type() string + func (pr *PortRange) Contains(p int) bool + func (pr *PortRange) Set(value string) error + func (pr PortRange) String() string + type RoundTripperWrapper interface + WrappedRoundTripper func() http.RoundTripper + type Route struct + Destination net.IP + Gateway net.IP + Interface string + type TLSClientConfigHolder interface + TLSClientConfig func() *tls.Config v1.6.0-rc.1 Mar 24, 2017 v1.6.0-beta.4 Mar 17, 2017 v1.6.0-beta.3 Mar 11, 2017 v1.6.0-beta.2 Mar 8, 2017 v1.6.0-beta.1 Mar 2, 2017 v1.6.0-beta.0 Feb 22, 2017 v1.6.0-alpha.3 Feb 15, 2017 v1.6.0-alpha.2 Feb 12, 2017 v1.6.0-alpha.1 Jan 30, 2017