Documentation ¶
Index ¶
- func NewRoundRobinTransport(cfg RoundRobinTransportConfig) http.RoundTripper
- func WithAuthz(transport http.RoundTripper, value string) http.RoundTripper
- func WithMetrics(trans http.RoundTripper, prefix string) http.RoundTripper
- func WithRetries(base http.RoundTripper, options ...RetryOptions) http.RoundTripper
- type ContentRange
- type DialFunc
- type LookupHostFunc
- type RetryOptions
- type RoundRobinTransportConfig
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewRoundRobinTransport ¶
func NewRoundRobinTransport(cfg RoundRobinTransportConfig) http.RoundTripper
func WithAuthz ¶
func WithAuthz(transport http.RoundTripper, value string) http.RoundTripper
Wraps a RoundTripper with one that injects an HTTP Authorization header
func WithMetrics ¶
func WithMetrics(trans http.RoundTripper, prefix string) http.RoundTripper
func WithRetries ¶
func WithRetries(base http.RoundTripper, options ...RetryOptions) http.RoundTripper
Types ¶
type ContentRange ¶
func GetContentRange ¶
func GetContentRange(resp *http.Response) (*ContentRange, error)
func (ContentRange) Len ¶
func (cr ContentRange) Len() uint64
func (ContentRange) Terminal ¶
func (cr ContentRange) Terminal() bool
type LookupHostFunc ¶
type RetryOptions ¶
type RoundRobinTransportConfig ¶
type RoundRobinTransportConfig struct { // TLSClientConfig specifies the TLS configuration to use with // tls.Client. // If nil, the default configuration is used. // If non-nil, HTTP/2 support may not be enabled by default. TLSClientConfig *tls.Config // TLSHandshakeTimeout specifies the maximum amount of time waiting to // wait for a TLS handshake. Zero means no timeout. TLSHandshakeTimeout time.Duration // Go 1.3 // MaxHosts controls the number of hosts for which we maintain // RoundTrippers. Zero means no limit. MaxHosts int // MaxIdleConnsPerHost, if non-zero, controls the maximum idle // (keep-alive) connections to keep per-host. If zero, // DefaultMaxIdleConnsPerHost is used. MaxIdleConnsPerHost int // MaxConnsPerHost optionally limits the total number of // connections per host, including connections in the dialing, // active, and idle states. On limit violation, dials will block. // // Zero means no limit. MaxConnsPerHost int // Go 1.11 // IdleConnTimeout is the maximum amount of time an idle // (keep-alive) connection will remain idle before closing // itself. // Zero means no limit. IdleConnTimeout time.Duration // Go 1.7 // ResponseHeaderTimeout, if non-zero, specifies the amount of // time to wait for a server's response headers after fully // writing the request (including its body, if any). This // time does not include the time to read the response body. ResponseHeaderTimeout time.Duration // Go 1.1 // ExpectContinueTimeout, if non-zero, specifies the amount of // time to wait for a server's first response headers after fully // writing the request headers if the request has an // "Expect: 100-continue" header. Zero means no timeout and // causes the body to be sent immediately, without // waiting for the server to approve. // This time does not include the time to send the request header. ExpectContinueTimeout time.Duration // Go 1.6 // ProxyConnectHeader optionally specifies headers to send to // proxies during CONNECT requests. ProxyConnectHeader http.Header // Go 1.8 // MaxResponseHeaderBytes specifies a limit on how many // response bytes are allowed in the server's response // header. // // Zero means to use a default limit. MaxResponseHeaderBytes int64 // Go 1.7 // WriteBufferSize specifies the size of the write buffer used // when writing to the transport. // If zero, a default (currently 4KB) is used. WriteBufferSize int // Go 1.13 // ReadBufferSize specifies the size of the read buffer used // when reading from the transport. // If zero, a default (currently 4KB) is used. ReadBufferSize int // Go 1.13 // ForceAttemptHTTP2 controls whether HTTP/2 is enabled when a non-zero // Dial, DialTLS, or DialContext func or TLSClientConfig is provided. // By default, use of any those fields conservatively disables HTTP/2. // To use a custom dialer or TLS config and still attempt HTTP/2 // upgrades, set this to true. ForceAttemptHTTP2 bool // Go 1.13 // DialerTimeout is the maximum amount of time a dial will wait // for a connect to complete. DialerTimeout time.Duration // LookupHost looks up the given host using the local resolver. It // returns a slice of that host's addresses. Used for testing. LookupHost LookupHostFunc // Dial allows injection of a DialFunc for testing. Dial DialFunc }
Click to show internal directories.
Click to hide internal directories.