2121
2222
2323def add_controls_routes (api_router : APIRouter , field : str ) -> None :
24-
2524 if field == "heartbeat" :
2625 # Add heartbeat channel
2726 @api_router .get (
@@ -50,6 +49,7 @@ async def heartbeat(request: Request) -> Controls:
5049 return prepare_response (data , is_list_model = False )
5150
5251 elif field == "stats" :
52+
5353 @api_router .get (
5454 "/stats" ,
5555 responses = get_default_responses (),
@@ -83,6 +83,7 @@ async def stats(request: Request) -> Controls:
8383 return prepare_response (data , is_list_model = False )
8484
8585 elif field == "shutdown" :
86+
8687 @api_router .post (
8788 "/shutdown" ,
8889 responses = get_default_responses (),
@@ -100,13 +101,12 @@ async def shutdown(request: Request, background_tasks: BackgroundTasks) -> Contr
100101
101102 data = Controls (name = "shutdown" , status = "ok" )
102103 return prepare_response (data , is_list_model = False )
103-
104+
104105 else :
105106 raise ValueError (f"Unsupported controls field: { field } . Supported fields are 'heartbeat', 'stats', and 'shutdown'." )
106107
107108
108109def add_controls_available_channels (api_router : APIRouter , fields : Optional [Set [str ]] = None ) -> None :
109-
110110 @api_router .get (
111111 "/" ,
112112 responses = get_default_responses (),
@@ -117,4 +117,3 @@ async def get_controls(request: Request) -> List[str]:
117117 This endpoint will return a list of string values of all available channels under the `/controls` route.
118118 """
119119 return sorted (fields if fields else ("heartbeat" , "stats" , "shutdown" ))
120-
0 commit comments