[PATCH 0 of 5 RFC] new http support, take 2

Augie Fackler durin42 at gmail.com
Thu May 5 13:35:38 CDT 2011


The new library is moved to core as requested in the last round. I
also refactored the ssl verification code into its own module so we
can share that among old and new codepaths. With these patches, tests
pass for me with '--extra-config-opt ui.http2=true' passed to
run-tests on both Python 2.6.1 on OS X and Python 2.6.5 on Ubuntu LTS.

I'm having some weird envionmental problems with the http proxy tests
in test-https.t for the old codepath on OS X, but that occurs without
this series as well so I'm not treating it as a regression.

With ui.http2=true, we start sending 'Expect: 100-Continue' to servers
on POST operations, which allows them to refuse the transaction before
we send any data. This (probably) throws off our progress bars for
push, but that's something we can defer until later IMO (the progress
bars just appear to jump to completion early, so it's not all that bad
of a defect.)

I'm open to new/better names for the http2.py module - it seems
confusing to have mercurial.http which is used only by http2. Names
for the configuration flag are also welcome.

I'd also like to know if this breaks something for you - I'd like to
think it's fairly robust, but the reality is I don't have much idea
beyond my testsuite. If it *does* break something for you, there's a
ui.http2debuglevel flag that you can set to 'info' or 'debug' for lots
of logging spew from the http library itself, which may be
informative.

Thanks,
Augie


More information about the Mercurial-devel mailing list