diff --git a/mercurial/hgweb/hgweb_mod.py b/mercurial/hgweb/hgweb_mod.py --- a/mercurial/hgweb/hgweb_mod.py +++ b/mercurial/hgweb/hgweb_mod.py @@ -399,12 +399,6 @@ if cmd not in webcommands.__all__: msg = 'no such method: %s' % cmd raise ErrorResponse(HTTP_BAD_REQUEST, msg) - elif cmd == 'file' and req.qsparams.get('style') == 'raw': - res.status = '200 Script output follows' - res.headers['Content-Type'] = ctype - content = webcommands.rawfile(rctx, wsgireq, tmpl) - assert content is res - return res.sendresponse() else: # Set some globals appropriate for web handlers. Commands can # override easily enough. diff --git a/mercurial/hgweb/webcommands.py b/mercurial/hgweb/webcommands.py --- a/mercurial/hgweb/webcommands.py +++ b/mercurial/hgweb/webcommands.py @@ -186,6 +186,9 @@ If ``path`` is not defined, information about the root directory will be rendered. """ + if web.req.qsparams.get('style') == 'raw': + return rawfile(web, req, tmpl) + path = webutil.cleanpath(web.repo, req.req.qsparams.get('file', '')) if not path: return manifest(web, req, tmpl)