This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author IcicleSpider
Recipients Carl.Nobile, IcicleSpider, cdwave, edevil, jjlee, martin.panter, nikratio, nnorwitz, orsenthil, rharris, terry.reedy
Date 2016-03-23.03:24:28
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1458703469.03.0.0333670011482.issue1346874@psf.upfronthosting.co.za>
In-reply-to
Content
I believe this is actually a bug, because it causes the posting of messages whose length is greater then the Apache HTTPD SSLRenegBufferSize setting to fail, whereas other http clients that first wait to receive the 100 response before sending the body do work.

The situation I am encountering is an Apache server that uses client certificates to authorize calls to it's rest apis, whereas the rest of the same site do not require it. See the documentation about the SSLRegenBufferSize here: https://httpd.apache.org/docs/trunk/mod/mod_ssl.html#sslrenegbuffersize

By sending just the headers first with the "Expect: 100-continue" header and then waiting for the "100" response, Apache only has to buffer the headers. But the way HTTPConnection currently works, the headers and the body will be sent immediately, causing the SSLRenegBuffer to be exceed, causing the request to fail.

Also, I do not think the submitted patch is the best fix for this. The HTTPConnection.putheader method should be the place that checks to see if there is an Expect header sent.
History
Date User Action Args
2016-03-23 03:24:29IcicleSpidersetrecipients: + IcicleSpider, nnorwitz, terry.reedy, jjlee, orsenthil, cdwave, rharris, edevil, nikratio, Carl.Nobile, martin.panter
2016-03-23 03:24:29IcicleSpidersetmessageid: <1458703469.03.0.0333670011482.issue1346874@psf.upfronthosting.co.za>
2016-03-23 03:24:29IcicleSpiderlinkissue1346874 messages
2016-03-23 03:24:28IcicleSpidercreate