From 3f0b4517c0fe8ddebcdc4c132f101a2a22b41e96 Mon Sep 17 00:00:00 2001 From: Sven Augustin Date: Mon, 22 Jan 2024 12:18:34 +0100 Subject: [PATCH] separated/re-use the error handler --- sf_daq_broker/rest_api.py | 19 +++---------------- sf_daq_broker/rest_api_error.py | 24 ++++++++++++++++++++++++ sf_daq_broker/rest_api_slow.py | 19 +++---------------- 3 files changed, 30 insertions(+), 32 deletions(-) create mode 100644 sf_daq_broker/rest_api_error.py diff --git a/sf_daq_broker/rest_api.py b/sf_daq_broker/rest_api.py index 198cc59..4bd0645 100644 --- a/sf_daq_broker/rest_api.py +++ b/sf_daq_broker/rest_api.py @@ -1,13 +1,12 @@ -import json -import logging - import bottle -_logger = logging.getLogger(__name__) +from .rest_api_error import register_error_handler def register_rest_interface(app, manager): + register_error_handler(app) + @app.post("/retrieve_from_buffers") def retrieve_from_buffers(): return manager.retrieve(request=bottle.request.json, remote_ip=bottle.request.remote_addr) @@ -47,15 +46,3 @@ def register_rest_interface(app, manager): @app.post("/close_pgroup_writing") def close_pgroup_writing(): return manager.close_pgroup_writing(request=bottle.request.json, remote_ip=bottle.request.remote_addr) - - @app.error(500) - def error_handler_500(error): - bottle.response.content_type = "application/json" - bottle.response.status = 200 - - error_text = str(error.exception) - - _logger.error(error_text) - - return json.dumps({"state": "error", - "status": error_text}) diff --git a/sf_daq_broker/rest_api_error.py b/sf_daq_broker/rest_api_error.py new file mode 100644 index 0000000..3d6984a --- /dev/null +++ b/sf_daq_broker/rest_api_error.py @@ -0,0 +1,24 @@ +import json +import logging + +import bottle + + +_logger = logging.getLogger(__name__) + + +def register_error_handler(app): + + @app.error(500) + def error_handler_500(error): + bottle.response.content_type = "application/json" + bottle.response.status = 200 + + error_text = str(error.exception) + + _logger.error(error_text) + + return json.dumps({ + "state": "error", + "status": error_text + }) diff --git a/sf_daq_broker/rest_api_slow.py b/sf_daq_broker/rest_api_slow.py index 41b653e..4940a13 100644 --- a/sf_daq_broker/rest_api_slow.py +++ b/sf_daq_broker/rest_api_slow.py @@ -1,13 +1,12 @@ -import json -import logging - import bottle -_logger = logging.getLogger(__name__) +from .rest_api_error import register_error_handler def register_rest_interface(app, manager): + register_error_handler(app) + @app.post("/get_detector_settings") def get_detector_settings(): return manager.get_detector_settings(request=bottle.request.json, remote_ip=bottle.request.remote_addr) @@ -27,15 +26,3 @@ def register_rest_interface(app, manager): @app.post("/set_dap_settings") def set_dap_settings(): return manager.set_dap_settings(request=bottle.request.json, remote_ip=bottle.request.remote_addr) - - @app.error(500) - def error_handler_500(error): - bottle.response.content_type = "application/json" - bottle.response.status = 200 - - error_text = str(error.exception) - - _logger.error(error_text) - - return json.dumps({"state": "error", - "status": error_text})