userver: components::HttpClient Class Reference
⚠️ This is the documentation for an old userver version. Click here to switch to the latest version.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts

#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:

    http-client:
      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/']
Examples
samples/flatbuf_service/flatbuf_service.cpp.

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: