* Add InvalidRangeSpec error
* Add EntityTooSmall to from_u32
* Add InvalidRangeSpec to from_u32
* Map InvalidRangeSpec to correct S3ErrorCode
* Return Error::InvalidRangeSpec
* Use auto implementation
* Add default storage class to ListObjectsV2
Resolves#764
* Add storage_class to response
* Make storage class optional so default won't be an empty string
---------
Co-authored-by: houseme <[email protected]>
* feat(append): implement object append operations with state tracking
Signed-off-by: junxiang Mu <[email protected]>
* chore: rebase
Signed-off-by: junxiang Mu <[email protected]>
---------
Signed-off-by: junxiang Mu <[email protected]>
* feat: support conditional writes
* refactor: avoid using unwrap
* fix: obtain lock before check in CompleteMultiPartUpload
* refactor: do not obtain a lock when getting object meta
* fix: avoid using unwrap and modifying incoming arguments
* test: add e2e tests for conditional writes
---------
Co-authored-by: guojidan <[email protected]>
Co-authored-by: 安正超 <[email protected]>
Co-authored-by: loverustfs <[email protected]>
* feat: add support for range requests in upload_part_copy and implement parse_copy_source_range function
* style: format debug and error logging for improved readability
* feat: implement parse_copy_source_range function and improve error handling in range requests
* Update rustfs/src/storage/ecfs.rs
Co-authored-by: Copilot <[email protected]>
* fix: correct return type in parse_copy_source_range function
* fix: remove unnecessary unwrap in parse_copy_source_range tests
* fix: simplify etag comparison in copy condition validation
---------
Co-authored-by: DamonXue <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: loverustfs <[email protected]>
This commit introduces a significant reorganization of the project structure to improve maintainability and clarity.
Key changes include:
- Adjusted the directory layout for a more logical module organization.
- Removed unused crate dependencies, reducing the overall project size and potentially speeding up build times.
- Updated import paths and configuration files to reflect the structural changes.