Skip to content

Commit

Permalink
Add JSONIFY_MIMETYPE configuration variable
Browse files Browse the repository at this point in the history
Allow jsonify responses' mimetype to be configured
  • Loading branch information
sloria committed Apr 8, 2016
1 parent 0690ce1 commit 2cfaf04
Show file tree
Hide file tree
Showing 5 changed files with 16 additions and 1 deletion.
1 change: 1 addition & 0 deletions CHANGES
Expand Up @@ -76,6 +76,7 @@ Version 1.0
- ``flask.ext`` is now deprecated (pull request ``#1484``).
- ``send_from_directory`` now raises BadRequest if the filename is invalid on
the server OS (pull request ``#1763``).
- Added the ``JSONIFY_MIMETYPE`` configuration variable (pull request ``#1728``).

Version 0.10.2
--------------
Expand Down
1 change: 1 addition & 0 deletions docs/config.rst
Expand Up @@ -183,6 +183,7 @@ The following configuration values are used internally by Flask:
if they are not requested by an
XMLHttpRequest object (controlled by
the ``X-Requested-With`` header)
``JSONIFY_MIMETYPE`` MIME type used for jsonify responses.
``TEMPLATES_AUTO_RELOAD`` Whether to check for modifications of
the template source and reload it
automatically. By default the value is
Expand Down
1 change: 1 addition & 0 deletions flask/app.py
Expand Up @@ -315,6 +315,7 @@ def _set_request_globals_class(self, value):
'JSON_AS_ASCII': True,
'JSON_SORT_KEYS': True,
'JSONIFY_PRETTYPRINT_REGULAR': True,
'JSONIFY_MIMETYPE': 'application/json',
'TEMPLATES_AUTO_RELOAD': None,
})

Expand Down
2 changes: 1 addition & 1 deletion flask/json.py
Expand Up @@ -264,7 +264,7 @@ def get_current_user():

return current_app.response_class(
(dumps(data, indent=indent, separators=separators), '\n'),
mimetype='application/json'
mimetype=current_app.config['JSONIFY_MIMETYPE']
)


Expand Down
12 changes: 12 additions & 0 deletions tests/test_basic.py
Expand Up @@ -1019,6 +1019,18 @@ def test_jsonify_prettyprint():
assert rv.data == pretty_response


def test_jsonify_mimetype():
app = flask.Flask(__name__)
app.config.update({"JSONIFY_MIMETYPE": 'application/vnd.api+json'})
with app.test_request_context():
msg = {
"msg": {"submsg": "W00t"},
}
rv = flask.make_response(
flask.jsonify(msg), 200)
assert rv.mimetype == 'application/vnd.api+json'


def test_url_generation():
app = flask.Flask(__name__)

Expand Down

0 comments on commit 2cfaf04

Please sign in to comment.