[html, ajax] demote_to_html don't crash anymore if force-html-content-type is activated. Closes #712309 stable
authorSylvain Thénault <sylvain.thenault@logilab.fr>
Mon, 07 Nov 2011 18:08:40 +0100
branchstable
changeset 8063 1b2a05c9b71c
parent 8062 ffd510fb71da
child 8064 6d8eb873256d
child 8081 e8091b415ad8
[html, ajax] demote_to_html don't crash anymore if force-html-content-type is activated. Closes #712309
web/request.py
--- a/web/request.py	Fri Nov 04 17:29:39 2011 +0100
+++ b/web/request.py	Mon Nov 07 18:08:40 2011 +0100
@@ -795,8 +795,13 @@
         The global doctype and xmldec must also be changed otherwise the browser
         will display '<[' at the beginning of the page
         """
-        self.set_content_type('text/html')
-        self.main_stream.set_doctype(TRANSITIONAL_DOCTYPE_NOEXT)
+        if not self.vreg.config['force-html-content-type']:
+            if not hasattr(self, 'main_stream'):
+                raise Exception("Can't demote to html from an ajax context. You "
+                                "should change force-html-content-type to yes "
+                                "in the instance configuration file.")
+            self.set_content_type('text/html')
+            self.main_stream.set_doctype(TRANSITIONAL_DOCTYPE_NOEXT)
 
     def set_doctype(self, doctype, reset_xmldecl=True):
         """helper method to dynamically change page doctype