##// END OF EJS Templates
chgserver: invalidate the server if extensions fail to load...
chgserver: invalidate the server if extensions fail to load Previously, if extensions fail to load, chg server will just keep working without those extensions. It will print a warning message but only if a new server starts. This patch invalidates the server if any extension failed to load, but still serve the client (hopefully just) once. It will help chg pass some test cases of test-bad-extension.t.

File last commit:

r27299:74e6de99 default
r28536:a979f5b0 default
Show More
hgweberror.py
21 lines | 596 B | text/x-python | PythonLexer
Gregory Szorc
hgweb: send proper HTTP response after uncaught exception...
r23409 # A dummy extension that installs an hgweb command that throws an Exception.
Gregory Szorc
tests: use absolute_import in hgweberror.py
r27299 from __future__ import absolute_import
from mercurial.hgweb import (
webcommands,
)
Gregory Szorc
hgweb: send proper HTTP response after uncaught exception...
r23409
def raiseerror(web, req, tmpl):
'''Dummy web command that raises an uncaught Exception.'''
# Simulate an error after partial response.
if 'partialresponse' in req.form:
req.respond(200, 'text/plain')
req.write('partial content\n')
raise AttributeError('I am an uncaught error!')
def extsetup(ui):
setattr(webcommands, 'raiseerror', raiseerror)
webcommands.__all__.append('raiseerror')