[PATCH] http2: send an extra header to signal a non-broken client

Augie Fackler durin42 at gmail.com
Fri Jul 29 21:13:55 CDT 2011


On Jul 29, 2011, at 5:57 PM, Matt Mackall wrote:

> On Wed, 2011-07-27 at 18:35 -0500, Augie Fackler wrote:
>> # HG changeset patch
>> # User Augie Fackler <durin42 at gmail.com>
>> # Date 1311809735 18000
>> # Node ID 9da96c0441e543498c516ec4e366a34d1dc44096
>> # Parent  b4c06b97dfe0cae28497bc3ab85c075a173de8e6
>> http2: send an extra header to signal a non-broken client
>> 
>> Some proxies strip the expect header because they forward requests in
>> a non-compliant way or as a way to defend against bogus clients.
> 
> Is this for stable?

If you don't mind, then yeah, that'd be preferable.

> 
>> diff --git a/mercurial/hgweb/hgweb_mod.py b/mercurial/hgweb/hgweb_mod.py
>> --- a/mercurial/hgweb/hgweb_mod.py
>> +++ b/mercurial/hgweb/hgweb_mod.py
>> @@ -129,8 +129,9 @@
>>                 # 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.env.get('HTTP_EXPECT',
>> +                                 '').lower() != '100-continue') or
>> +                    req.env.get('X-HgHttp2', '')):
>>                     req.drain()
>>                 req.respond(inst, protocol.HGTYPE)
>>                 return '0\n%s\n' % inst.message
>> diff --git a/mercurial/httprepo.py b/mercurial/httprepo.py
>> --- a/mercurial/httprepo.py
>> +++ b/mercurial/httprepo.py
>> @@ -78,6 +78,7 @@
>> 
>>         if data and self.ui.configbool('ui', 'usehttp2', False):
>>             headers['Expect'] = '100-Continue'
>> +            headers['X-HgHttp2'] = '1'
>> 
>>         self.ui.debug("sending %s command\n" % cmd)
>>         q = [('cmd', cmd)]
>> _______________________________________________
>> Mercurial-devel mailing list
>> Mercurial-devel at selenic.com
>> http://selenic.com/mailman/listinfo/mercurial-devel
> 
> 
> -- 
> Mathematics is the supreme nostalgia of our time.
> 
> 



More information about the Mercurial-devel mailing list