userver: clients::http::Plugin Class Reference
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages Concepts
clients::http::Plugin Class Referenceabstract

Your opinion will help to improve our service

Leave a feedback >

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

Detailed Description

Base class for HTTP Client plugins.

Definition at line 42 of file plugin.hpp.

Public Member Functions

 Plugin (std::string name)
 
const std::string & GetName () const
 Get plugin name.
 
virtual void HookCreateSpan (PluginRequest &request, tracing::Span &span)=0
 The hook is called just after the "external" Span is created. You might want to add custom tags from the hook. The hook is called only once before any network interaction and is NOT called before each retry. The hook is executed in the context of the parent task which created the request.
 
virtual void HookPerformRequest (PluginRequest &request)=0
 The hook is called before actual HTTP request sending and before DNS name resolution. This hook is called on each retry.
 
virtual void HookOnCompleted (PluginRequest &request, Response &response)=0
 The hook is called after the HTTP response is received or the timeout is passed.
 

Member Function Documentation

◆ HookOnCompleted()

virtual void clients::http::Plugin::HookOnCompleted ( PluginRequest & request,
Response & response )
pure virtual

The hook is called after the HTTP response is received or the timeout is passed.

Warning
The hook is called in libev thread, not in coroutine context! Do not do any heavy work here, offload it to other hooks.

◆ HookPerformRequest()

virtual void clients::http::Plugin::HookPerformRequest ( PluginRequest & request)
pure virtual

The hook is called before actual HTTP request sending and before DNS name resolution. This hook is called on each retry.

Warning
The hook is called in libev thread, not in coroutine context! Do not do any heavy work here, offload it to other hooks.

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