From 9b73d7dfe0ce85865b23bc5636a73f9c64cd40e3 Mon Sep 17 00:00:00 2001 From: morgan fainberg Date: Wed, 1 May 2019 09:21:07 -0700 Subject: [PATCH] Fix for werkzeug > 0.15 Werkzeug is pickier about how Content-Type is handled in general. In this case we are now explicitly checking for either Content-Type being '' or being non-existant in addition to Content-Type being set to json for decoding the body. Change-Id: Ia5a7750cff833aa90f7fc446f396c270343fc590 (cherry picked from commit 3d31723b3bfdbb43037acf9e916740ba918e48e2) --- keystone/server/flask/request_processing/json_body.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/keystone/server/flask/request_processing/json_body.py b/keystone/server/flask/request_processing/json_body.py index 9fd5f65f74..cce0763d37 100644 --- a/keystone/server/flask/request_processing/json_body.py +++ b/keystone/server/flask/request_processing/json_body.py @@ -38,7 +38,7 @@ def json_body_before_request(): # Explicitly check if the content is supposed to be json. if (flask.request.is_json - or flask.request.headers['Content-Type'] == ''): + or flask.request.headers.get('Content-Type', '') == ''): json_decoded = flask.request.get_json(force=True) if not isinstance(json_decoded, dict): # In the case that the returned value was not a dict, force