Mercurial > hg
view tests/hgweberror.py @ 40723:94b0d0f996e1 stable
wireprotov2peer: always return a bool from _processredirect()
Without this, we may stop servicing the redirect response if the
future has already been resolved. And the future will often be
resolved very early, since many consumers iterate the decoded
CBOR object stream and expect data to lazily arrive.
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Wed, 28 Nov 2018 10:37:43 -0800 |
parents | 0199fb5dde20 |
children | 2372284d9457 |
line wrap: on
line source
# A dummy extension that installs an hgweb command that throws an Exception. from __future__ import absolute_import from mercurial.hgweb import ( webcommands, ) def raiseerror(web): '''Dummy web command that raises an uncaught Exception.''' # Simulate an error after partial response. if b'partialresponse' in web.req.qsparams: web.res.status = b'200 Script output follows' web.res.headers[b'Content-Type'] = b'text/plain' web.res.setbodywillwrite() list(web.res.sendresponse()) web.res.getbodyfile().write(b'partial content\n') raise AttributeError('I am an uncaught error!') def extsetup(ui): setattr(webcommands, 'raiseerror', raiseerror) webcommands.__all__.append(b'raiseerror')