swift-server / swift-server/async-http-client
Error when using HTTP2 for AWS S3 request
Nobody has claimed this yet.
- Dominant language
- Swift
- Stars
- 1.1k
- Forks
- 156
- PR merge metrics
- No merged PRs in 30d
Description
Hello! I found an issue while using Vapor 4 and the Soto library to upload and delete objects from a DigitalOcean S3-compatible bucket. After some debugging you can follow in https://github.com/soto-project/soto/issues/608 we arrived at the conclusion that the issue must be in the AsyncHttpClient library.
You can follow the discussion in the linked issue but to sum up:
- Using HTTP2 the delete object request fails with
NotImplementederror meaning there is some unknown header according to the docs. - Using HTTP1 the request works fine. Also using HTTP2 and proxying it through Charles and even manually doing the cURL it also works fine.
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 the linked Soto issue 608 and compare the failing HTTP/2 delete request with the working HTTP/1 request and cURL behavior. Reproduce the request against a DigitalOcean S3-compatible bucket and identify the differing headers; done means the delete request succeeds over HTTP/2 without breaking HTTP/1 behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- swift
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100