Documentation ¶
Index ¶
- Variables
- func Get(options *types.Options, configuration *Configuration) (*retryablehttp.Client, error)
- func GetHttpTimeout(opts *types.Options) time.Duration
- func GetRawHTTP(options *types.Options) *rawhttp.Client
- func Init(options *types.Options) error
- func SendRawRequest(client *rawhttp.Client, opts *RawHttpRequestOpts) (*http.Response, error)
- type Configuration
- type ConnectionConfiguration
- type RawHttpRequestOpts
- type RedirectFlow
- type WithCustomTimeout
Constants ¶
This section is empty.
Variables ¶
var ( // MaxResponseHeaderTimeout is the timeout for response headers // to be read from the server (this prevents infinite hang started by server if any) // Note: this will be overridden temporarily when using @timeout request annotation MaxResponseHeaderTimeout = time.Duration(10) * time.Second // HttpTimeoutMultiplier is the multiplier for the http timeout HttpTimeoutMultiplier = 3 )
Functions ¶
func Get ¶
func Get(options *types.Options, configuration *Configuration) (*retryablehttp.Client, error)
Get creates or gets a client for the protocol based on custom configuration
func GetHttpTimeout ¶
GetHttpTimeout returns the http timeout for the client
func GetRawHTTP ¶
GetRawHTTP returns the rawhttp request client
func SendRawRequest ¶
SendRawRequest sends a raw http request with the provided options and returns http response
Types ¶
type Configuration ¶
type Configuration struct { // Threads contains the threads for the client Threads int // MaxRedirects is the maximum number of redirects to follow MaxRedirects int // NoTimeout disables http request timeout for context based usage NoTimeout bool // DisableCookie disables cookie reuse for the http client (cookiejar impl) DisableCookie bool // FollowRedirects specifies the redirects flow RedirectFlow RedirectFlow // Connection defines custom connection configuration Connection *ConnectionConfiguration // ResponseHeaderTimeout is the timeout for response body to be read from the server ResponseHeaderTimeout time.Duration }
Configuration contains the custom configuration options for a client
func (*Configuration) HasStandardOptions ¶
func (c *Configuration) HasStandardOptions() bool
HasStandardOptions checks whether the configuration requires custom settings
func (*Configuration) Hash ¶
func (c *Configuration) Hash() string
Hash returns the hash of the configuration to allow client pooling
type ConnectionConfiguration ¶
type ConnectionConfiguration struct { // DisableKeepAlive of the connection DisableKeepAlive bool // contains filtered or unexported fields }
ConnectionConfiguration contains the custom configuration options for a connection
func (*ConnectionConfiguration) GetCookieJar ¶
func (cc *ConnectionConfiguration) GetCookieJar() *cookiejar.Jar
func (*ConnectionConfiguration) HasCookieJar ¶
func (cc *ConnectionConfiguration) HasCookieJar() bool
func (*ConnectionConfiguration) SetCookieJar ¶
func (cc *ConnectionConfiguration) SetCookieJar(cookiejar *cookiejar.Jar)
type RawHttpRequestOpts ¶
type RawHttpRequestOpts struct { // Method is the http method to use Method string // URL is the url to request URL string // Path is request path to use Path string // Headers is the headers to use Headers map[string][]string // Body is the body to use Body io.Reader // Options is more client related options Options *rawhttp.Options }
RawHttpRequestOpts is a configuration for raw http request
type RedirectFlow ¶
type RedirectFlow uint8
const ( DontFollowRedirect RedirectFlow = iota FollowSameHostRedirect FollowAllRedirect )
type WithCustomTimeout ¶
WithCustomTimeout is a configuration for custom timeout