Documentation
¶
Overview ¶
Package httpclient constructs HTTP clients with optional OpenTelemetry tracing instrumentation.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // Providers provides HTTP client construction for dependency injection. Providers = wire.NewSet( ProvideHTTPClient, ) )
Functions ¶
func ProvideHTTPClient ¶
ProvideHTTPClient provides an HTTP client from config. If cfg is nil, defaults are used.
func RegisterHTTPClient ¶
RegisterHTTPClient registers an *http.Client with the injector.
Types ¶
type Config ¶
type Config struct {
Timeout time.Duration `env:"TIMEOUT" json:"timeout"`
MaxIdleConns int `env:"MAX_IDLE_CONNS" json:"maxIdleConns"`
MaxIdleConnsPerHost int `env:"MAX_IDLE_CONNS_PER_HOST" json:"maxIdleConnsPerHost"`
EnableTracing bool `env:"ENABLE_TRACING" json:"enableTracing"`
}
Config configures an HTTP client.
func (*Config) BuildClient ¶
BuildClient constructs an HTTP client from config.
func (*Config) EnsureDefaults ¶
func (cfg *Config) EnsureDefaults()
EnsureDefaults sets default values for zero fields.
Click to show internal directories.
Click to hide internal directories.