forked from orbit-oss/flask
Added the JSONIFY_PRETTYPRINT_REGULAR config variable. This fixes #725
This commit is contained in:
parent
1c8c21abd5
commit
3d9055b3b7
4 changed files with 18 additions and 3 deletions
1
CHANGES
1
CHANGES
|
|
@ -62,6 +62,7 @@ Release date to be decided.
|
|||
- Changed how the teardown system is informed about exceptions. This is now
|
||||
more reliable in case something handles an exception halfway through
|
||||
the error handling process.
|
||||
- Added the ``JSONIFY_PRETTYPRINT_REGULAR`` configuration variable.
|
||||
|
||||
Version 0.9
|
||||
-----------
|
||||
|
|
|
|||
|
|
@ -149,6 +149,11 @@ The following configuration values are used internally by Flask:
|
|||
unicode strings. ``jsonfiy`` will
|
||||
automatically encode it in ``utf-8``
|
||||
then for transport for instance.
|
||||
``JSONIFY_PRETTYPRINT_REGULAR`` If this is set to ``True`` (the default)
|
||||
jsonify responses will be pretty printed
|
||||
if they are not requested by an
|
||||
XMLHttpRequest object (controlled by
|
||||
the ``X-Requested-With`` header)
|
||||
================================= =========================================
|
||||
|
||||
.. admonition:: More on ``SERVER_NAME``
|
||||
|
|
@ -192,7 +197,7 @@ The following configuration values are used internally by Flask:
|
|||
``PREFERRED_URL_SCHEME``
|
||||
|
||||
.. versionadded:: 0.10
|
||||
``JSON_AS_ASCII``
|
||||
``JSON_AS_ASCII``, ``JSONIFY_PRETTYPRINT_REGULAR``
|
||||
|
||||
Configuring from Files
|
||||
----------------------
|
||||
|
|
|
|||
|
|
@ -290,7 +290,8 @@ class Flask(_PackageBoundObject):
|
|||
'TRAP_BAD_REQUEST_ERRORS': False,
|
||||
'TRAP_HTTP_EXCEPTIONS': False,
|
||||
'PREFERRED_URL_SCHEME': 'http',
|
||||
'JSON_AS_ASCII': True
|
||||
'JSON_AS_ASCII': True,
|
||||
'JSONIFY_PRETTYPRINT_REGULAR': True,
|
||||
})
|
||||
|
||||
#: The rule object to use for URL rules created. This is used by
|
||||
|
|
|
|||
|
|
@ -194,8 +194,16 @@ def jsonify(*args, **kwargs):
|
|||
For security reasons only objects are supported toplevel. For more
|
||||
information about this, have a look at :ref:`json-security`.
|
||||
|
||||
This function's response will be pretty printed if it was not requested
|
||||
with ``X-Requested-With: XMLHttpRequest`` to simplify debugging unless
|
||||
the ``JSONIFY_PRETTYPRINT_REGULAR`` config parameter is set to false.
|
||||
|
||||
.. versionadded:: 0.2
|
||||
"""
|
||||
indent = None
|
||||
if current_app.config['JSONIFY_PRETTYPRINT_REGULAR'] \
|
||||
and not request.is_xhr:
|
||||
indent = 2
|
||||
return current_app.response_class(dumps(dict(*args, **kwargs),
|
||||
indent=None if request.is_xhr else 2),
|
||||
indent=indent),
|
||||
mimetype='application/json')
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue