11#include <userver/utils/not_null.hpp>
13USERVER_NAMESPACE_BEGIN
19namespace clients::http {
26class PluginRequest
final {
29 explicit PluginRequest(RequestState& state);
32 void SetHeader(std::string_view name, std::string_view value);
34 void AddQueryParams(std::string_view params);
36 void SetTimeout(std::chrono::milliseconds ms);
38 const std::string& GetOriginalUrl()
const;
26class PluginRequest
final {
…};
47 explicit Plugin(std::string name);
49 virtual ~Plugin() =
default;
80 virtual void HookOnError(PluginRequest& request, std::error_code ec) = 0;
87 const std::string name_;
92class PluginPipeline
final {
96 void HookPerformRequest(RequestState& request);
98 void HookCreateSpan(RequestState& request,
tracing::Span& span);
100 void HookOnCompleted(RequestState& request, Response& response);
102 void HookOnError(RequestState& request, std::error_code ec);
104 bool HookOnRetry(RequestState& request);