hyperium / hyperium/hyper

Add hyper-util helpers to support handling `expect: 100-continue` header

Open
#3,833 9 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

C-feature E-pr-welcome K-hyper-util
Dominant language
Rust
Stars
16.3k
Forks
1.8k
Avg merge
1d 22h
Merged PRs (30d)
14

Description

Is your feature request related to a problem? Please describe.

When I use Hyper Client based on the example (https://github.com/hyperium/hyper/blob/3817a79b213f840302d7e27fac8508de9caada0f/examples/client.rs#L49-L54), it doesn't correctly handle the expect: 100-continue header in the request.

Describe the solution you'd like

Hyper Client needs to wait for the 100 continue response from the S3WSServer after sending the request header parts for certain time and then send the request body if it gets the response from the server or after certain time threshold.

This is to have the same functionality as https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/100

Describe alternatives you've considered

Expose the client parts where it sends the request header and body, but it will be inefficient for the developers to implement the same functionality.

Additional context
Add any other context or screenshots about the feature request here.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with examples/client.rs at the linked request-building example and review how Hyper Client sends request headers and the body. Determine the appropriate hyper-util entry point for waiting on a 100 Continue response or a timeout. Done means requests with expect: 100-continue send the body after that response or the specified threshold.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend-api-design, networking
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.