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.