userver: userver/server/handlers/inspect_requests.hpp Source File
Loading...
Searching...
No Matches
inspect_requests.hpp
Go to the documentation of this file.
1#pragma once
2
3/// @file userver/server/handlers/inspect_requests.hpp
4/// @brief @copybrief server::handlers::InspectRequests
5
6#include <userver/server/handlers/http_handler_json_base.hpp>
7
8USERVER_NAMESPACE_BEGIN
9
10namespace server {
11
12class RequestsView;
13
14namespace handlers {
15
16/// @ingroup userver_components userver_http_handlers
17///
18/// @brief Handler that returns information about all in-flight requests.
19///
20/// The component has no service configuration except the
21/// @ref userver_http_handlers "common handler options".
22///
23/// ## Static configuration example:
24///
25/// @snippet components/common_server_component_list_test.cpp Sample handler inspect requests component config
26///
27/// ## Scheme
28/// Provide an optional query parameter `body` to get the bodies of all the
29/// in-flight requests.
30class InspectRequests final : public HttpHandlerJsonBase {
31public:
32 InspectRequests(const components::ComponentConfig& config, const components::ComponentContext& component_context);
33
34 /// @ingroup userver_component_names
35 /// @brief The default name of server::handlers::InspectRequests
36 static constexpr std::string_view kName = "handler-inspect-requests";
37
38 formats::json::Value HandleRequestJsonThrow(
39 const http::HttpRequest& request,
40 const formats::json::Value& request_json,
41 request::RequestContext& context
42 ) const override;
43
44 static yaml_config::Schema GetStaticConfigSchema();
45
46private:
47 RequestsView& view_;
48};
49
50} // namespace handlers
51} // namespace server
52
53template <>
54constexpr inline bool components::kHasValidate<server::handlers::InspectRequests> = true;
55
56USERVER_NAMESPACE_END