| 194 | } |
| 195 | |
| 196 | void addDefaultHandlersFactory( |
| 197 | HTTPRequestHandlerFactoryMain & factory, IServer & server, AsynchronousMetrics & async_metrics, ContextMutablePtr context) |
| 198 | { |
| 199 | addCommonDefaultHandlersFactory(factory, server); |
| 200 | |
| 201 | auto query_handler = std::make_shared<HandlingRuleHTTPHandlerFactory<DynamicQueryHandler>>(server, "query"); |
| 202 | query_handler->allowPostAndGetParamsRequest(); |
| 203 | factory.addHandler(query_handler); |
| 204 | |
| 205 | /// We check that prometheus handler will be served on current (default) port. |
| 206 | /// Otherwise it will be created separately, see createHandlerFactory(...). |
| 207 | if (server.config().has("prometheus") && server.config().getInt("prometheus.port", 0) == 0) |
| 208 | { |
| 209 | auto prometheus_handler = std::make_shared<HandlingRuleHTTPHandlerFactory<PrometheusRequestHandler>>( |
| 210 | server, std::make_shared<ServerPrometheusMetricsWriter>(server.config(), context, "prometheus", async_metrics)); |
| 211 | prometheus_handler->attachStrictPath(server.config().getString("prometheus.endpoint", "/metrics")); |
| 212 | prometheus_handler->allowGetAndHeadRequest(); |
| 213 | factory.addHandler(prometheus_handler); |
| 214 | } |
| 215 | } |
| 216 | |
| 217 | } |
no test coverage detected