userver: components::HttpClient Class Reference
No Matches
components::HttpClient Class Referencefinal

#include <userver/clients/http/component.hpp>

Detailed Description

Component that manages clients::http::Client.

Returned references to clients::http::Client live for a lifetime of the component and are safe for concurrent use.

Dynamic options:

Static options:

Name Description Default value
pool-statistics-disable set to true to disable statistics for connection pool false
thread-name-prefix set OS thread name to this value ''
threads number of threads to process low level HTTP related IO system calls 8
defer-events whether to defer events execution to a periodic timer; might affect timings a bit, might boost performance, use with care false
fs-task-processor task processor to run blocking HTTP related calls, like DNS resolving or hosts reading -
destination-metrics-auto-max-size set max number of automatically created destination metrics 100
user-agent User-Agent HTTP header to show on all requests, result of utils::GetUserverIdentifier() if empty empty
bootstrap-http-proxy HTTP proxy to use at service start. Will be overridden by USERVER_HTTP_PROXY at runtime config update ''
testsuite-enabled enable testsuite testing support false
testsuite-timeout if set, force the request timeout regardless of the value passed in code -
testsuite-allowed-url-prefixes if set, checks that all URLs start with any of the passed prefixes, asserts if not. Set for testing purposes only. ''
dns_resolver server hostname resolver type (getaddrinfo or async) 'async'
set-deadline-propagation-header whether to set http::common::kXYaTaxiClientTimeoutMs request header, see Deadline propagation true
plugins Plugin names to apply. A plugin component is called "http-client-plugin-" plus the plugin name. []
cancellation-policy Cancellation policy for new requests. cancel

Static configuration example:

# yaml
pool-statistics-disable: false
thread-name-prefix: http-client
threads: 2
defer-events: false
fs-task-processor: fs-task-processor
destination-metrics-auto-max-size: 100
user-agent: common_component_list sample
testsuite-enabled: true
testsuite-timeout: 5s
testsuite-allowed-url-prefixes: ['http://localhost:8083/', 'http://localhost:8084/']

Definition at line 58 of file component.hpp.

+ Inheritance diagram for components::HttpClient:
+ Collaboration diagram for components::HttpClient:

Public Member Functions

 HttpClient (const ComponentConfig &, const ComponentContext &)
clients::http::ClientGetHttpClient ()
- Public Member Functions inherited from components::LoggableComponentBase
 LoggableComponentBase (const ComponentConfig &, const ComponentContext &)
 LoggableComponentBase (LoggableComponentBase &&)=delete
 LoggableComponentBase (const LoggableComponentBase &)=delete
 ~LoggableComponentBase () override=default
ComponentHealth GetComponentHealth () const override
void OnLoadingCancelled () override
void OnAllComponentsLoaded () override
void OnAllComponentsAreStopping () override

Static Public Member Functions

static yaml_config::Schema GetStaticConfigSchema ()
- Static Public Member Functions inherited from components::LoggableComponentBase
static yaml_config::Schema GetStaticConfigSchema ()

Static Public Attributes

static constexpr std::string_view kName = "http-client"
 The default name of components::HttpClient component.

The documentation for this class was generated from the following file: