8 Commits
Author SHA1 Message Date
zhanglq 1d8c6e314b fix: use path.Clean instead of filepath.Clean for cross-platform URI canonicalization
filepath.Clean converts forward slashes to backslashes on Windows,
which breaks the AWS V4 signature calculation by corrupting the
canonical URI. Use path.Clean which always uses forward slashes,
matching the S3 API expectation.
2026-07-02 14:55:57 +08:00
Rohan Verma 9a14996a0b feat: add CopyObject and DeleteObjects operations
Implements object manipulation capabilities for v0.11.0:
- CopyObject: server-side copy within/across buckets with metadata control
- DeleteObjects: batch delete up to 1000 objects in single request

Both operations follow AWS S3 API specification with proper:
- AWS Signature V4 signing
- XML request/response handling
- Content-MD5 and SHA256 headers
- Comprehensive input validation

Fixed DeleteObjects signature mismatch with MinIO by correcting the canonical
query string format for empty query parameter values (delete= instead of delete).
The writeQuery function now properly appends = to keys with empty values per
AWS Signature V4 specification.

CopyObject enables CLI mv commands. DeleteObjects enables efficient
batch operations for CLI sync/rm.

Tests: All CopyObject and DeleteObjects tests passing with MinIO.

"lets work on the object level operations"
2025-11-27 01:18:57 +05:30
Rohan Verma 35d7b10832 fix: minor doc changes 2021-07-19 12:33:48 +05:30
Rohan Verma f50dc493f8 test: NewUsingIAM mock 2018-12-28 14:59:45 +05:30
Rohan Verma d218b23f05 feat: Presigned URLs 2018-12-24 13:36:29 +05:30
Joe Paul 41b1c70183 ref: DRY hmac method (#1) 2018-12-07 11:57:08 +05:30
Rohan Verma 157aa88554 docs: Add missing docstrings 2018-12-06 16:48:37 +05:30
Rohan Verma f30c5f9052 init 2018-12-06 15:54:47 +05:30