Mercurial > hg
view tests/hgweberror.py @ 50639:5e60abf811f3
stream-clone: make it the responsability of the store entry to stream content
The store entry has more context, this will especially be true when it comes to
revlogs. So we move the details of how to retrieve binary content to the
StoreEntry. The stream clone code now focus on the protocol bits.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Sun, 28 May 2023 05:52:58 +0200 |
parents | 6000f5b25c9b |
children | 99632adff795 |
line wrap: on
line source
# A dummy extension that installs an hgweb command that throws an Exception. 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')