@@ -50,11 +50,21 @@ void LogConfiguration(std::string_view component_name, const std::vector<std::st
5050
5151void LogValidateError (std::string_view middleware_name, const std::exception& e);
5252
53+ yaml_config::Schema GetMiddlewareFactoryComponentBaseSchema ();
54+
55+ yaml_config::Schema GetRunnerComponentBaseSchema ();
56+
5357} // namespace impl
5458
5559// / @ingroup userver_base_classes
5660// /
5761// / @brief Base class for middleware factory component.
62+ // /
63+ // / ## Static options of @ref middlewares::MiddlewareFactoryComponentBase :
64+ // / @include{doc} scripts/docs/en/components_schema/core/src/middlewares/factory_component_base.md
65+ // /
66+ // / Options inherited from @ref components::ComponentBase :
67+ // / @include{doc} scripts/docs/en/components_schema/core/src/components/impl/component_base.md
5868template <typename MiddlewareBaseType, typename HandlerInfo>
5969class MiddlewareFactoryComponentBase : public impl ::WithMiddlewareDependencyComponentBase {
6070public:
@@ -86,16 +96,7 @@ class MiddlewareFactoryComponentBase : public impl::WithMiddlewareDependencyComp
8696 virtual yaml_config::Schema GetMiddlewareConfigSchema () const { return GetStaticConfigSchema (); }
8797
8898 static yaml_config::Schema GetStaticConfigSchema () {
89- return yaml_config::MergeSchemas<components::ComponentBase>(R"(
90- type: object
91- description: base class for grpc-server middleware
92- additionalProperties: false
93- properties:
94- enabled:
95- type: string
96- description: the flag to enable/disable middleware in the pipeline
97- defaultDescription: true
98- )" );
99+ return impl::GetMiddlewareFactoryComponentBaseSchema ();
99100 }
100101
101102 // / @cond
@@ -123,38 +124,19 @@ additionalProperties: false
123124// / The Ordered list of middlewares `RunnerComponentBase` takes from Pipeline component.
124125// / So, 'Pipeline' is responsible for the order of middlewares. `RunnerComponentBase` is responsible for creating
125126// / middlewares and overriding configs.
127+ // /
128+ // / ## Static options of @ref middlewares::RunnerComponentBase :
129+ // / @include{doc} scripts/docs/en/components_schema/core/src/middlewares/runner_component_base.md
130+ // /
131+ // / Options inherited from @ref components::ComponentBase :
132+ // / @include{doc} scripts/docs/en/components_schema/core/src/components/impl/component_base.md
126133template <typename MiddlewareBase, typename HandlerInfo>
127134class RunnerComponentBase
128135 : public components::ComponentBase,
129136 public impl::PipelineCreatorInterface<MiddlewareBase, HandlerInfo> {
130137public:
131138 static yaml_config::Schema GetStaticConfigSchema () {
132- return yaml_config::MergeSchemas<components::ComponentBase>(R"(
133- type: object
134- description: base class for all the gRPC service components
135- additionalProperties: false
136- properties:
137- disable-user-pipeline-middlewares:
138- type: boolean
139- description: flag to disable groups::User middlewares from pipeline
140- defaultDescription: false
141- disable-all-pipeline-middlewares:
142- type: boolean
143- description: flag to disable all middlewares from pipeline
144- defaultDescription: false
145- middlewares:
146- type: object
147- description: overloads of configs of middlewares per service
148- additionalProperties:
149- type: object
150- description: a middleware config
151- additionalProperties: true
152- properties:
153- enabled:
154- type: boolean
155- description: enable middleware in the list
156- properties: {}
157- )" );
139+ return impl::GetRunnerComponentBaseSchema ();
158140 }
159141
160142protected:
0 commit comments