62 const components::ComponentContext& component_context,
63 bool is_monitor =
false
66 ~HttpHandlerBase()
override;
79 HttpHandlerStatisticsAggregate& GetHandlerStatistics()
const;
88 std::string GetResponseDataForLoggingChecked(
89 const http::HttpRequest& request,
90 request::RequestContext& context,
91 const std::string& response_data
94 std::string GetUrlForLoggingChecked(
const http::HttpRequest& request,
request::RequestContext& context)
const;
99 const http::HttpRequest& request,
100 request::RequestContext& context,
107 const http::HttpRequest& request,
108 request::RequestContext& context,
109 const std::exception& ex
118 static yaml_config::Schema GetStaticConfigSchema();
133 [[
noreturn]]
void ThrowUnsupportedHttpMethod(
const http::HttpRequest& request)
const;
173 const http::HttpRequest& request,
174 request::RequestContext& context,
175 const std::string& request_body
180 const http::HttpRequest& request,
181 request::RequestContext& context,
182 const std::string& response_data
192 virtual std::string GetMetaType(
const http::HttpRequest&)
const;
195 friend class middlewares::HandlerAdapter;
196 friend class middlewares::HandlerMetrics;
197 friend class middlewares::Auth;
199 void HandleHttpRequest(
http::HttpRequest& request,
request::RequestContext& context)
const;
201 std::string GetRequestBodyForLoggingChecked(
202 const http::HttpRequest& request,
203 request::RequestContext& context,
204 const std::string& request_body
207 template <
typename HttpStatistics>
208 void FormatStatistics(
utils::
statistics::Writer result,
const HttpStatistics& stats);
212 void SetResponseServerHostname(
http::HttpResponse& response)
const;
214 void BuildMiddlewarePipeline(
const components::ComponentConfig&,
const components::ComponentContext&);
216 const dynamic_config::Source config_source_;
218 const std::string handler_name_;
219 std::optional<
logging::Level> log_level_;
220 std::unordered_map<
int,
logging::Level> log_level_for_status_codes_;
222 std::unique_ptr<HttpHandlerStatisticsAggregate> handler_statistics_;
224 bool set_response_server_hostname_;
225 bool is_body_streamed_;