@@ -38,6 +38,7 @@ use crate::sync::sync_start;
3838
3939use actix_web:: web;
4040use actix_web:: web:: resource;
41+ use actix_web:: middleware:: from_fn;
4142use actix_web:: Resource ;
4243use actix_web:: Scope ;
4344use actix_web_prometheus:: PrometheusMetrics ;
@@ -73,7 +74,10 @@ impl ParseableServer for Server {
7374 web:: scope ( & base_path ( ) )
7475 . service ( Self :: get_correlation_webscope ( ) )
7576 . service ( Self :: get_query_factory ( ) )
76- . service ( Self :: get_ingest_factory ( ) )
77+ . service (
78+ Self :: get_ingest_factory ( )
79+ . wrap ( from_fn ( resource_check:: check_resource_utilization_middleware) )
80+ )
7781 . service ( Self :: get_liveness_factory ( ) )
7882 . service ( Self :: get_readiness_factory ( ) )
7983 . service ( Self :: get_about_factory ( ) )
@@ -96,7 +100,10 @@ impl ParseableServer for Server {
96100 . service ( Server :: get_prism_logstream ( ) )
97101 . service ( Server :: get_prism_datasets ( ) ) ,
98102 )
99- . service ( Self :: get_ingest_otel_factory ( ) )
103+ . service (
104+ Self :: get_ingest_otel_factory ( )
105+ . wrap ( from_fn ( resource_check:: check_resource_utilization_middleware) )
106+ )
100107 . service ( Self :: get_generated ( ) ) ;
101108 }
102109
@@ -374,7 +381,8 @@ impl Server {
374381 . to ( logstream:: delete)
375382 . authorize_for_stream ( Action :: DeleteStream ) ,
376383 )
377- . app_data ( web:: JsonConfig :: default ( ) . limit ( MAX_EVENT_PAYLOAD_SIZE ) ) ,
384+ . app_data ( web:: JsonConfig :: default ( ) . limit ( MAX_EVENT_PAYLOAD_SIZE ) )
385+ . wrap ( from_fn ( resource_check:: check_resource_utilization_middleware) ) ,
378386 )
379387 . service (
380388 // GET "/logstream/{logstream}/info" ==> Get info for given log stream
0 commit comments