Skip to content

Commit ed66fdf

Browse files
committed
Implemented missing PROMETHEUS_ROUTE_MIDDLEWARE support.
1 parent 5ed64a4 commit ed66fdf

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

config/prometheus.php

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,19 @@
3939

4040
'metrics_route_path' => env('PROMETHEUS_METRICS_ROUTE_PATH', 'metrics'),
4141

42+
/*
43+
|--------------------------------------------------------------------------
44+
| Metrics Route Middleware
45+
|--------------------------------------------------------------------------
46+
|
47+
| The name of a middleware to be used for the metrics route, e.g. a basic-auth check.
48+
|
49+
| This is only applicable if metrics_route_enabled is set to true.
50+
|
51+
*/
52+
53+
'metrics_route_middleware' => env('PROMETHEUS_METRICS_ROUTE_MIDDLEWARE', null),
54+
4255
/*
4356
|--------------------------------------------------------------------------
4457
| Storage Adapter

src/PrometheusServiceProvider.php

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,19 +83,23 @@ private function loadRoutes()
8383
/** @var Route $route */
8484
$isLumen = mb_strpos($this->app->version(), 'Lumen') !== false;
8585
if ($isLumen) {
86-
$router->get(
86+
$route = $router->get(
8787
config('prometheus.metrics_route_path'),
8888
[
8989
'as' => 'metrics',
9090
'uses' => MetricsController::class . '@getMetrics',
9191
]
9292
);
9393
} else {
94-
$router->get(
94+
$route = $router->get(
9595
config('prometheus.metrics_route_path'),
9696
MetricsController::class . '@getMetrics'
9797
)->name('metrics');
9898
}
99+
100+
if ($middleware = config('prometheus.metrics_route_middleware')) {
101+
$route->middleware($middleware);
102+
}
99103
}
100104

101105
private function configPath($path) : string

0 commit comments

Comments
 (0)