Add hyper-util helpers to support handling `expect: 100-continue` header
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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