Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bpo-1346874: Add 'Expect: 100-Continue' support to httplib #14880

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

tbartlett0
Copy link

@tbartlett0 tbartlett0 commented Jul 21, 2019

Previously, http.client would always send content body immediately and ignore any 100 responses. This change makes HTTPClient.request() wait for a Continue response if the Expect: 100-Continue header is set, and adds a parameter to HTTPClient.getresponse() that will cause it to return 100 responses instead of eating them.

https://bugs.python.org/issue1346874

Previously, http.client would always send content body immediately and ignore any 100 responses. This change
makes HTTPClient.request() wait for a `Continue` response if the `Expect: 100-Continue` header is set, and
adds a parameter to HTTPClient.getresponse() that will cause it to return 100 responses instead of eating them.
@tbartlett0
Copy link
Author

This PR is intended to be backwards-compatible, but I have identified two potential edge cases:

  • clients that currently set Expect: 100-Continue with a broken server that ignores the header: This will introduce a delay of expect_timeout seconds to each request. However, this can be fixed by a) not sending the header or b) setting expect_timeout to 0.
  • anyone who redefines HTTPClient.response_class: this is likely to be a breaking change, as a new kwarg is used on HTTPResponse.begin(). (This seems like a fairly rare situation, as it's not exposed as an __init__ param, but chances are that someone, somewhere has done it...)

@csabella csabella requested review from vadmium and orsenthil February 6, 2020 22:29
@csabella csabella requested review from orsenthil and removed request for orsenthil and vadmium June 12, 2020 22:32
@quadoss
Copy link

quadoss commented Apr 5, 2022

Is there an update on this one, its been in open state for couple of years and I too have been hitting this and wanting to see when this would be merged

@emnoor-reef
Copy link

Just bumping. Is this PR on consideration for getting merged? Or, are there any other plans for #42550 ? I am encountering this problem at work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants