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