diff hgext/highlight/__init__.py @ 36871:9fc3d814646e

hgweb: port most @webcommand to use modern response type This only focused on porting the return value. raw file requests are wonky because they go through a separate code path at the dispatch layer. Now that everyone is using the same API, we could clean this up. It's worth noting that wsgirequest.respond() allows sending the Content-Disposition header, but the only user of that feature was removed as part of this change (with the setting of the header now being performed inline). A few @webcommand are not as straightforward as the others and they have not been ported yet. Differential Revision: https://phab.mercurial-scm.org/D2787
author Gregory Szorc <gregory.szorc@gmail.com>
date Sat, 10 Mar 2018 20:36:34 -0800
parents d5883fd055c6
children 67fb0dca29bc
line wrap: on
line diff
--- a/hgext/highlight/__init__.py	Sat Mar 10 17:02:57 2018 -0800
+++ b/hgext/highlight/__init__.py	Sat Mar 10 20:36:34 2018 -0800
@@ -30,7 +30,6 @@
 
 from . import highlight
 from mercurial.hgweb import (
-    common,
     webcommands,
     webutil,
 )
@@ -84,9 +83,12 @@
 def generate_css(web, req, tmpl):
     pg_style = web.config('web', 'pygments_style', 'colorful')
     fmter = highlight.HtmlFormatter(style=pg_style)
-    req.respond(common.HTTP_OK, 'text/css')
-    return ['/* pygments_style = %s */\n\n' % pg_style,
-            fmter.get_style_defs('')]
+    web.res.headers['Content-Type'] = 'text/css'
+    web.res.setbodybytes(''.join([
+        '/* pygments_style = %s */\n\n' % pg_style,
+        fmter.get_style_defs(''),
+    ]))
+    return web.res
 
 def extsetup():
     # monkeypatch in the new version