feat: add PutObject and DeleteObject #1

Merged
kristofferopsahl merged 2 commits from feat/put-delete-object into main 2026-09-17 09:43:35 +02:00

Adds PutObject (UNSIGNED-PAYLOAD signing, Content-Type + x-amz-acl options) and DeleteObject (204/404 = success), needed by the Grantory Go port (spec D8). SigV4 vector tests unchanged and passing.

Note: PutObject and DeleteObject already existed on main (added in 6c5a18c), but PutObject buffered the whole body, hashed it, and returned an ETag. This PR reworks PutObject to take an io.Reader and stream via UNSIGNED-PAYLOAD signing, and adds the WithContentType/WithACL functional options the Go port needs. DeleteObject's existing 204/200/404-are-success behavior is unchanged; added a 200 test for completeness.

🤖 Generated with Claude Code

Adds PutObject (UNSIGNED-PAYLOAD signing, Content-Type + x-amz-acl options) and DeleteObject (204/404 = success), needed by the Grantory Go port (spec D8). SigV4 vector tests unchanged and passing. Note: PutObject and DeleteObject already existed on main (added in 6c5a18c), but PutObject buffered the whole body, hashed it, and returned an ETag. This PR reworks PutObject to take an io.Reader and stream via UNSIGNED-PAYLOAD signing, and adds the WithContentType/WithACL functional options the Go port needs. DeleteObject's existing 204/200/404-are-success behavior is unchanged; added a 200 test for completeness. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
feat: add PutObject and DeleteObject
All checks were successful
test / test (pull_request) Successful in 29s
1599a962ee
docs: update README for current API surface
All checks were successful
test / test (pull_request) Successful in 28s
16ae66abec
kristofferopsahl deleted branch feat/put-delete-object 2026-09-17 09:43:35 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kristofferopsahl/s3lite!1
No description provided.