Missing Presigned POST / POST Policy support for multipart form-data file uploads
- Dominant language
- Kotlin
- Stars
- 502
- Forks
- 67
- Avg merge
- 3d 5h
- Merged PRs (30d)
- 13
Description
### Describe the feature
For **Pre-signed multipart form-data uploads**, one must use **POST** (PUT is for binary data).
Therefore AWS introduced the POST Policy.
### Is your Feature Request related to a problem?
It's impossible to use multipart form-data uploads in this sdk.
### Proposed Solution
`UploadPartRequest` should also include support for POST, and not do always PUT internally.
To support POST Policy, there needs to be something that:
1. forms the policy
2. Base64-encodes it
3. Signs it using AWS SigV4.
### Describe alternative solutions or features you've considered
_No response_
### Acknowledge
- [ ] I may be able to implement this feature request
### AWS Kotlin SDK version used
v0.19.2-beta
### Platform (JVM/JS/Native)
JVM
### Operating System and version
MacOS
Contributor guide
Research direction
Start with UploadPartRequest and trace how it currently performs PUT uploads. Read the SDK's AWS SigV4 signing flow, then determine the entry points needed to form and Base64-encode a POST policy and sign it. Done means multipart form-data uploads can use presigned POST policies as well as the existing PUT path.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, kotlin
- Domain
- api, cloud
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100