userver: userver/server/handlers/auth/digest/auth_checker_settings_component.hpp Source File
Loading...
Searching...
No Matches
auth_checker_settings_component.hpp
Go to the documentation of this file.
1#pragma once
2
3/// @file userver/server/handlers/auth/digest/auth_checker_settings_component.hpp
4/// @brief @copybrief server::handlers::auth::digest::AuthCheckerSettingsComponent
5
6#include <chrono>
7#include <optional>
8#include <string>
9
10#include <userver/components/component_base.hpp>
11#include <userver/dynamic_config/source.hpp>
12
13#include "auth_checker_settings.hpp"
14
15USERVER_NAMESPACE_BEGIN
16
17namespace server::handlers::auth::digest {
18
19// clang-format off
20
21/// @brief Component that loads digest auth configuration settings from a static_config.yaml
22///
23/// ## Static options of server::handlers::auth::digest::AuthCheckerSettingsComponent :
24/// @include{doc} scripts/docs/en/components_schema/core/src/server/handlers/auth/digest/auth_checker_settings_component.md
25///
26/// Options inherited from @ref components::ComponentBase :
27/// @include{doc} scripts/docs/en/components_schema/core/src/components/impl/component_base.md
28
29// clang-format on
30
31class AuthCheckerSettingsComponent : public components::ComponentBase {
32public:
33 /// @ingroup userver_component_names
34 /// @brief The default name of
35 /// server::handlers::auth::digest::AuthCheckerSettingsComponent
36 static constexpr std::string_view kName = "auth-digest-checker-settings";
37
38 AuthCheckerSettingsComponent(
39 const components::ComponentConfig& config,
40 const components::ComponentContext& context
41 );
42
43 ~AuthCheckerSettingsComponent() override;
44
45 const AuthCheckerSettings& GetSettings() const;
46
47 static yaml_config::Schema GetStaticConfigSchema();
48
49private:
50 AuthCheckerSettings settings_;
51};
52
53} // namespace server::handlers::auth::digest
54
55template <>
56inline constexpr bool components::kHasValidate<server::handlers::auth::digest::AuthCheckerSettingsComponent> = true;
57
58USERVER_NAMESPACE_END