Skip to content

Add http4s-aws-s3 with S3 multipart upload support#66

Merged
vlovgr merged 25 commits intomainfrom
http4s-aws-s3
Dec 8, 2025
Merged

Add http4s-aws-s3 with S3 multipart upload support#66
vlovgr merged 25 commits intomainfrom
http4s-aws-s3

Conversation

@vlovgr
Copy link
Copy Markdown
Member

@vlovgr vlovgr commented Dec 2, 2025

This pull request adds a http4s-aws-s3 module with support for Amazon S3 multipart uploads.

  • The fs2-data-xml library is used for handling XML entity encoding and decoding. Since both http4s-aws and fs2-data-xml are available for Scala.js, http4s-aws-s3 is also available for Scala.js.
  • There are S3Bucket and S3Key types with validation rules implemented, plus bucket"" and key"" String-interpolators for the respective types (available with import com.magine.http4s.aws.s3.syntax.*).
  • Multipart uploads (S3MultipartUpload) are configured through the builder pattern (S3MultipartUploadBuilder) to be able to add additional configuration in a backwards-compatible way in the future.
  • The updated readme contains an example.

Copy link
Copy Markdown
Contributor

@jesperoman jesperoman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

@vlovgr
Copy link
Copy Markdown
Member Author

vlovgr commented Dec 8, 2025

I've published 6.3-6b57be0-SNAPSHOT which can be used with:

resolvers += Resolver.sonatypeCentralSnapshots

Copy link
Copy Markdown
Contributor

@jesperoman jesperoman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A bit large for a PR 😅 , but: 👍

@vlovgr vlovgr merged commit 0b20ccc into main Dec 8, 2025
13 checks passed
@vlovgr vlovgr deleted the http4s-aws-s3 branch December 8, 2025 13:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants