From c4c9a80880813c7491abc86ad8638040c015b8d2 Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Mon, 21 Dec 2009 21:52:51 +0000 Subject: - The ``json`` renderer failed to set the response content type to ``application/json``. It now does, by setting ``request.response_content_type`` unless this attribute is already set. - The ``string`` renderer failed to set the response content type to ``text/plain``. It now does, by setting ``request.response_content_type`` unless this attribute is already set. --- repoze/bfg/renderers.py | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'repoze/bfg/renderers.py') diff --git a/repoze/bfg/renderers.py b/repoze/bfg/renderers.py index cb01de30c..e937bd2a1 100644 --- a/repoze/bfg/renderers.py +++ b/repoze/bfg/renderers.py @@ -12,6 +12,10 @@ from repoze.bfg.threadlocal import get_current_registry def json_renderer_factory(name): def _render(value, system): + request = system.get('request') + if request is not None: + if not hasattr(request, 'response_content_type'): + request.response_content_type = 'application/json' return json.dumps(value) return _render @@ -19,6 +23,10 @@ def string_renderer_factory(name): def _render(value, system): if not isinstance(value, basestring): value = str(value) + request = system.get('request') + if request is not None: + if not hasattr(request, 'response_content_type'): + request.response_content_type = 'text/plain' return value return _render -- cgit v1.2.3