hgweberror.py
24 lines
| 751 B
| text/x-python
|
PythonLexer
/ tests / hgweberror.py
Gregory Szorc
|
r23409 | # A dummy extension that installs an hgweb command that throws an Exception. | ||
Gregory Szorc
|
r27299 | from __future__ import absolute_import | ||
Augie Fackler
|
r43346 | from mercurial.hgweb import webcommands | ||
Gregory Szorc
|
r23409 | |||
Gregory Szorc
|
r36903 | def raiseerror(web): | ||
Gregory Szorc
|
r23409 | '''Dummy web command that raises an uncaught Exception.''' | ||
# Simulate an error after partial response. | ||||
Gregory Szorc
|
r40191 | if b'partialresponse' in web.req.qsparams: | ||
Gregory Szorc
|
r36892 | 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') | ||||
Gregory Szorc
|
r23409 | |||
raise AttributeError('I am an uncaught error!') | ||||
Augie Fackler
|
r43346 | |||
Gregory Szorc
|
r23409 | def extsetup(ui): | ||
setattr(webcommands, 'raiseerror', raiseerror) | ||||
Gregory Szorc
|
r40191 | webcommands.__all__.append(b'raiseerror') | ||