Mercurial > hg-stable
changeset 13571:84bd3fd63afc
hgweb_mod: respond right away if the client specified 100-continue support
Clients that send 100-continue should make sure they really support
continue intelligently. In a later patch we'll introduce a capability so
new clients don't pay a performance penalty talking to old servers.
author | Augie Fackler <durin42@gmail.com> |
---|---|
date | Fri, 07 Jan 2011 15:19:21 -0600 |
parents | 617a87cb7eb2 |
children | 1bb2a56a9d73 |
files | mercurial/hgweb/hgweb_mod.py |
diffstat | 1 files changed, 5 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/hgweb/hgweb_mod.py Sat Feb 06 04:27:28 2010 -0600 +++ b/mercurial/hgweb/hgweb_mod.py Fri Jan 07 15:19:21 2011 -0600 @@ -121,7 +121,11 @@ self.check_perm(req, perms[cmd]) return protocol.call(self.repo, req, cmd) except ErrorResponse, inst: - if cmd == 'unbundle': + # A client that sends unbundle without 100-continue will + # break if we respond early. + if (cmd == 'unbundle' and + req.env.get('HTTP_EXPECT', + '').lower() != '100-continue'): req.drain() req.respond(inst, protocol.HGTYPE) return '0\n%s\n' % inst.message