Browse Source

Added the JSONIFY_PRETTYPRINT_REGULAR config variable. This fixes #725

pull/761/head
Armin Ronacher 11 years ago
parent
commit
3d9055b3b7
  1. 1
      CHANGES
  2. 7
      docs/config.rst
  3. 3
      flask/app.py
  4. 10
      flask/json.py

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
-----------

7
docs/config.rst

@ -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
----------------------

3
flask/app.py

@ -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

10
flask/json.py

@ -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…
Cancel
Save