aws / aws/aws-sdk-kotlin

Missing Presigned POST / POST Policy support for multipart form-data file uploads

Open
#809 9 comments 4 reactions 0 assignees View on GitHub
feature-request p3
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.