Skip to content

gh-42550: Add 'Expect: 100-Continue' support to httplib #133276

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

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

Conversation

IngridMorstrad
Copy link

@IngridMorstrad IngridMorstrad commented May 1, 2025

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.

#42550
https://bugs.python.org/issue1346874


📚 Documentation preview 📚: https://cpython-previews--133276.org.readthedocs.build/

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.
@IngridMorstrad IngridMorstrad changed the title Add 'Expect: 100-Continue' support to httplib gh-42550: Add 'Expect: 100-Continue' support to httplib May 1, 2025
Copy link
Member

@ZeroIntensity ZeroIntensity left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

General triage nits.

@IngridMorstrad
Copy link
Author

Hi, checking for a possible review on this. @ZeroIntensity

@ZeroIntensity
Copy link
Member

Sorry, I was only triaging. I don't have enough knowledge on the http module to review this. You could take a look at the experts index.

Comment on lines +49 to +52
sending a file-like message body. Finally, the optional *continue_timeout*
parameter controls how long the connection will wait for a ``100 Continue``
response from the server before sending the body, if the request included
an ``Expect: 100-Continue`` header.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this need to be a constructor parameter?

@AA-Turner
Copy link
Member

You have merge conflicts, please resolve them before requesting a re-review.

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.

3 participants