69 const components::ComponentContext& component_context,
70 bool is_monitor =
false
73 ~HttpHandlerBase()
override;
79 virtual const std::string& HandlerName()
const;
85 HttpHandlerStatistics& GetHandlerStatistics()
const;
88 HttpRequestStatistics& GetRequestStatistics()
const;
97 std::string GetResponseDataForLoggingChecked(
98 const http::HttpRequest& request,
99 request::RequestContext& context,
100 const std::string& response_data
117 static yaml_config::Schema GetStaticConfigSchema();
120 [[
noreturn]]
void ThrowUnsupportedHttpMethod(
const http::HttpRequest& request)
const;
152 virtual bool IsStreamed()
const {
return is_body_streamed_; }
169 const http::HttpRequest& request,
170 request::RequestContext& context,
171 const std::string& request_body
176 const http::HttpRequest& request,
177 request::RequestContext& context,
178 const std::string& response_data
185 virtual std::string GetMetaType(
const http::HttpRequest&)
const;
191 void HandleHttpRequest(
http::HttpRequest& request,
request::RequestContext& context)
const;
193 void HandleRequestStream(
http::HttpRequest& http_request,
request::RequestContext& context)
const;
195 std::string GetRequestBodyForLoggingChecked(
196 const http::HttpRequest& request,
197 request::RequestContext& context,
198 const std::string& request_body
201 template <
typename HttpStatistics>
202 void FormatStatistics(
utils::statistics::Writer result,
const HttpStatistics& stats);
204 void SetResponseServerHostname(
http::HttpResponse& response)
const;
206 void BuildMiddlewarePipeline(
const components::ComponentConfig&,
const components::ComponentContext&);
208 const dynamic_config::Source config_source_;
210 const std::string handler_name_;
211 utils::statistics::Entry statistics_holder_;
213 std::unordered_map<
int,
logging::
Level> log_level_for_status_codes_;
215 std::unique_ptr<HttpHandlerStatistics> handler_statistics_;
216 std::unique_ptr<HttpRequestStatistics> request_statistics_;
218 bool set_response_server_hostname_;
219 bool is_body_streamed_;