Documentation
¶
Index ¶
Constants ¶
const ( ContentLengthHeader = "Content-Length" LastModifiedHeader = "Last-Modified" )
Variables ¶
var DefaultHTTPConfig = HTTPConfig{ IdleConnTimeout: model.Duration(90 * time.Second), ResponseHeaderTimeout: model.Duration(2 * time.Minute), TLSHandshakeTimeout: model.Duration(10 * time.Second), ExpectContinueTimeout: model.Duration(1 * time.Second), MaxIdleConns: 100, MaxIdleConnsPerHost: 100, MaxConnsPerHost: 0, }
Functions ¶
func DefaultTransport ¶
func DefaultTransport(config HTTPConfig) (*http.Transport, error)
DefaultTransport - this default transport is based on the Minio DefaultTransport up until the following commit: https://github.com/minio/minio-go/commit/008c7aa71fc17e11bf980c209a4f8c4d687fc884 The values have since diverged.
func NewTLSConfig ¶
NewTLSConfig creates a new tls.Config from the given TLSConfig.
func ParseContentLength ¶
ParseContentLength returns the content length (in bytes) parsed from the Content-Length HTTP header in input.
func ParseLastModified ¶
ParseLastModified returns the timestamp parsed from the Last-Modified HTTP header in input. Passing an second parameter, named f, to specify the time format. If f is empty then RFC3339 will be used as default format.
Types ¶
type HTTPConfig ¶
type HTTPConfig struct {
IdleConnTimeout model.Duration `yaml:"idle_conn_timeout"`
ResponseHeaderTimeout model.Duration `yaml:"response_header_timeout"`
InsecureSkipVerify bool `yaml:"insecure_skip_verify"`
TLSHandshakeTimeout model.Duration `yaml:"tls_handshake_timeout"`
ExpectContinueTimeout model.Duration `yaml:"expect_continue_timeout"`
MaxIdleConns int `yaml:"max_idle_conns"`
MaxIdleConnsPerHost int `yaml:"max_idle_conns_per_host"`
MaxConnsPerHost int `yaml:"max_conns_per_host"`
// Transport field allows upstream callers to inject a custom round tripper.
Transport http.RoundTripper `yaml:"-"`
TLSConfig TLSConfig `yaml:"tls_config"`
DisableCompression bool `yaml:"disable_compression"`
}
HTTPConfig stores the http.Transport configuration for the cos and s3 minio client.
type TLSConfig ¶
type TLSConfig struct {
// The CA cert to use for the targets.
CAFile string `yaml:"ca_file"`
// The client cert file for the targets.
CertFile string `yaml:"cert_file"`
// The client key file for the targets.
KeyFile string `yaml:"key_file"`
// Used to verify the hostname for the targets.
ServerName string `yaml:"server_name"`
// Disable target certificate validation.
InsecureSkipVerify bool `yaml:"insecure_skip_verify"`
}
TLSConfig configures the options for TLS connections.