From 6b11ec4da449087d5c403a4c25e156afc645f24e Mon Sep 17 00:00:00 2001 From: Dmitry Tantsur Date: Thu, 5 Aug 2021 14:52:52 +0200 Subject: [PATCH] Use correct status code with werkzeug exceptions Change-Id: Ib726b7d2cc44fbea666d580d7639680bf4bfbcf1 --- releasenotes/notes/http-code-b4e32ad8485ef841.yaml | 4 ++++ sushy_tools/emulator/main.py | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 releasenotes/notes/http-code-b4e32ad8485ef841.yaml diff --git a/releasenotes/notes/http-code-b4e32ad8485ef841.yaml b/releasenotes/notes/http-code-b4e32ad8485ef841.yaml new file mode 100644 index 00000000..686c5f5e --- /dev/null +++ b/releasenotes/notes/http-code-b4e32ad8485ef841.yaml @@ -0,0 +1,4 @@ +--- +fixes: + - | + Returns the correct status code (404) when a URL is not found. diff --git a/sushy_tools/emulator/main.py b/sushy_tools/emulator/main.py index 8a6eaee5..f8faac6c 100755 --- a/sushy_tools/emulator/main.py +++ b/sushy_tools/emulator/main.py @@ -167,6 +167,7 @@ def all_exception_handler(message): url = flask.url_for(flask.request.endpoint, identity=message.args[0]) return flask.redirect(url, code=307, Response=flask.Response) + code = getattr(message, 'code', 500) if (isinstance(message, error.FishyError) or isinstance(message, wz_exc.HTTPException)): app.logger.debug( @@ -175,7 +176,7 @@ def all_exception_handler(message): app.logger.exception( 'Unexpected %s: %s', message.__class__.__name__, message) - return flask.render_template('error.json', message=message), 500 + return flask.render_template('error.json', message=message), code @app.route('/redfish/v1/')