Mercurial > public > mercurial-scm > hg
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