Documentation ¶
Index ¶
- Constants
- Variables
- type Client
- type Config
- type Doer
- type Middleware
- type MiddlewareFunc
- type ReConfiguration
- func (reConfiguration *ReConfiguration) Client() *http.Client
- func (reConfiguration *ReConfiguration) Do(request *http.Request) (*http.Response, error)
- func (reConfiguration *ReConfiguration) ReConfiguration(configurator configurator.Configurator) error
- func (reConfiguration *ReConfiguration) Use(middlewares ...Middleware)
Constants ¶
View Source
const ( TimeoutFieldName = "client.http.timeout" MaxIdleConnectionsFieldName = "client.http.maximum.idle.connections" MaxIdleConnectionsPerHostFieldName = "client.http.maximum.idle.host" MaxConnectionsPerHostFieldName = "client.http.maximum.connections" SecureVerifyFieldName = "client.http.secure_verify" TimeoutDefault = 30 * time.Second MaxIdleConnectionsDefault = uint16(100) MaxIdleConnectionsPerHostDefault = uint16(10) MaxConnectionsPerHostDefault = uint16(20) SecureVerifyDefault = false )
Variables ¶
View Source
var Component = &app.Component{ Dependencies: app.Components{ logger.Component, configurator.Component, reConfiguration.Component, }, Constructor: app.Constructor(func(container container.Container) error { return container.Provides( NewConfig, NewReConfigurationWithConfigurator, func(reConfiguration *ReConfiguration) Doer { return reConfiguration }, ) }), BindFlags: app.BindFlags(func(flagSet *pflag.FlagSet, container container.Container) error { return container.Invoke(func(config *Config) { flagSet.DurationVar(&config.Timeout, TimeoutFieldName, TimeoutDefault, "request timeout") flagSet.Uint16Var(&config.MaxIdleConnections, MaxIdleConnectionsFieldName, MaxIdleConnectionsDefault, "maximum total number of open connections") flagSet.Uint16Var(&config.MaxIdleConnectionsPerHost, MaxIdleConnectionsPerHostFieldName, MaxIdleConnectionsPerHostDefault, "maximum number of open connections per host") flagSet.Uint16Var(&config.MaxConnectionsPerHost, MaxConnectionsPerHostFieldName, MaxConnectionsPerHostDefault, "maximum number of connections per host") flagSet.BoolVar(&config.SecureVerify, SecureVerifyFieldName, SecureVerifyDefault, "if true, check the TLS certificate") }) }), Run: app.Run(func(container container.Container) error { return container.Invoke(func( client *ReConfiguration, informer logger.Informer, reConfiguration reConfiguration.ReConfiguration, config *Config, ) { reConfiguration.Registration(client) informer.Info("http.client: registration in the reConfigurator") }) }), }
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func NewWithConfigurator ¶
func NewWithConfigurator(configurator configurator.Configurator, config *Config, informer logger.Informer) *Client
func (*Client) Use ¶
func (client *Client) Use(middlewares ...Middleware)
type Config ¶
type Config struct { Timeout time.Duration MaxIdleConnections uint16 MaxIdleConnectionsPerHost uint16 MaxConnectionsPerHost uint16 SecureVerify bool }
func Configuration ¶
func Configuration(config *Config, configurator configurator.Configurator) *Config
type Middleware ¶
type Middleware interface {
Middleware(next http.RoundTripper) http.RoundTripper
}
type MiddlewareFunc ¶
type MiddlewareFunc func(next http.RoundTripper) http.RoundTripper
func (MiddlewareFunc) Middleware ¶
func (middleware MiddlewareFunc) Middleware(next http.RoundTripper) http.RoundTripper
type ReConfiguration ¶
type ReConfiguration struct {
// contains filtered or unexported fields
}
func NewReConfiguration ¶
func NewReConfiguration(informer logger.Informer, config *Config) *ReConfiguration
func NewReConfigurationWithConfigurator ¶
func NewReConfigurationWithConfigurator(informer logger.Informer, config *Config, configurator configurator.Configurator) *ReConfiguration
func (*ReConfiguration) Client ¶
func (reConfiguration *ReConfiguration) Client() *http.Client
func (*ReConfiguration) ReConfiguration ¶
func (reConfiguration *ReConfiguration) ReConfiguration(configurator configurator.Configurator) error
func (*ReConfiguration) Use ¶
func (reConfiguration *ReConfiguration) Use(middlewares ...Middleware)
Source Files ¶
Click to show internal directories.
Click to hide internal directories.