33 Commits

Author SHA1 Message Date
Henk-Jan Lebbink
720943b4bb
Duplicated code removed, and lazy response evaluation (#162)
* Duplicated code removed, and lazy response evaluation

* moved Tokio runtime from general dependency to dev dependency
2025-06-18 09:55:53 -07:00
Henk-Jan Lebbink
6f904b452a
moved Tokio runtime from general dependency to dev dependency (#167)
* moved Tokio runtime from general dependency to dev dependency
* reduced number of worker threads in tests
2025-06-18 11:26:29 +02:00
Henk-Jan Lebbink
9cbb95747f
Fixed doc warnings; fixed minor issue with trait separation in append_object (#160)
* minor issues fixed: bucket and object impl trait separated

* fixed doc warnings

* added CI, docs build and docs site to the initial icons

* inline doc updated

* more doc update

* bumped versions
2025-05-28 11:43:08 -07:00
Henk-Jan Lebbink
75602b2673
Added several tests to test_append_object (#158)
* Added several tests to test_append_object
* moved file creation to create_object_helper
2025-05-26 11:31:21 +02:00
Henk-Jan Lebbink
f6ca7dba03
Fixed xml parsing of bucket_lifecycle, added support for with_updated_at (#153) 2025-05-15 10:14:40 -07:00
Henk-Jan Lebbink
9495c5dcce
fixed incorrect renaming of listen_bucket_notification (#152) 2025-05-11 11:21:49 -07:00
Henk-Jan Lebbink
20d8654e34
Function names updated to reflect AWS names. Updated docs (#150)
* updated inline doc

* updated inline doc

* API naming conform AWS

* fixed clippy issues

* fixed minor API naming issues
2025-05-09 15:53:44 -07:00
Henk-Jan Lebbink
1869cfeba7
minor issues (#149) 2025-04-26 11:55:48 -07:00
Henk-Jan Lebbink
58d9203153
refactored all functions (#145)
* refactored stat_object

refactored select_object_content

refactor get_presigned_object_url

refactor get_presigned_policy_form_data

refactored upload-part-copy

* fixed object.unwrap

* update region

* made client Arc

* made client Arc

* update client

* update tests

* update segmented_bytes

* bench updated

* cleanup version handling

* cleanup of headers: multimap

* added inner in Client

* updated clients: added Into<String>in API

* Separated http_client and shared client items in Client
2025-04-23 10:18:18 -07:00
Henk-Jan Lebbink
f23572dce8
added benchmarks (#142) 2025-03-29 15:26:11 -07:00
Henk-Jan Lebbink
ddec540b22
Refactor object lock config, retention, tags (#140)
* refactor make-bucket, bucket_exists, remove_bucket

* refactor disable-object-legal-hold, enable-object-legal-hold, is-object-legal-hold-enabled
2025-03-21 09:25:06 -07:00
Henk-Jan Lebbink
8ea83b45ae
Refactor bucket tags, bucket notification, and bucket replication (#132)
* refactor get-set-delete bucket notification

* refactor get-set-delete bucket notification

* refactor get-set-delete bucket notification
2025-03-12 12:44:45 -07:00
Henk-Jan Lebbink
8134acdd09
Bumped rust edition from 2021 to 2024. Only change is some include sorting (#128) 2025-03-11 12:09:43 -07:00
Henk-Jan Lebbink
112c0aed1a
Refactor bucket-lifecycle, bucket-policy, bucket-encryption (#124)
* refactored from_s3response trait, and refactored get/set/delete policy

* * refactor set/get/delete bucket lifecycle

* refactored from_s3response trait,
* refactored get/set/delete bucket policy
* delete-bucket-encryption
2025-03-07 16:33:41 -08:00
Henk-Jan Lebbink
b2a6cb2655
Refactor bucket lifecycle (#121)
* bugfix & added example

* refactor set_bucket_lifecycle amd get_bucket_lifecycle
2025-03-03 17:41:04 -08:00
Henk-Jan Lebbink
cba673a379
Refactor set_bucket_versioning (#114) 2025-02-20 17:52:07 -08:00
Henk-Jan Lebbink
1a77ca826d
refactored set_bucket_encrypion (#116) 2025-02-04 11:59:49 -08:00
Henk-Jan Lebbink
e98264fa3d
Refactor get bucket encryption (#110) 2025-01-31 16:38:50 -08:00
Henk-Jan Lebbink
0438f044ff
Added object_prompt support (#109) 2025-01-23 09:56:29 -08:00
Henk-Jan Lebbink
8facff7bad
fixed clippy issues (#106) 2024-12-14 19:31:51 -08:00
Aditya Manthramurthy
1d917a8b7a
Rename some exposed types (#96) 2024-06-18 13:55:01 -07:00
Aditya Manthramurthy
b0d31e1126
Apply many clippy fixes (#95) 2024-06-18 12:25:26 -07:00
Aditya Manthramurthy
6f2dd62691
Size should be platform independent and 64 bit. (#93) 2024-06-17 12:42:12 -07:00
Aditya Manthramurthy
d5a648f03c
Add builder style remove_object(s) APIs (#85)
- remove older APIs
2024-04-12 18:21:32 -07:00
Aditya Manthramurthy
773ad9133f
Return size info in put/get APIs (#82)
Also:

- fix some constraints to allow ObjectContent to be sent across async
tasks.

- use new Size enum instead of Option for specifying object content
sizes

- add tests for part size calculation and validations
2024-04-10 07:51:42 -07:00
Aditya Manthramurthy
6d8031306e
Add file read/write ability to ObjectContent (#81) 2024-04-05 19:39:45 -07:00
Aditya Manthramurthy
e1542939b3
Clippy fixes (#79) 2024-04-03 06:45:19 +05:30
Aditya Manthramurthy
54b671ef4c
Add new put and get APIs for objects (#78)
- put_object_content -> streaming object uploads

- put_object_from_file -> upload file

- put_object, create_multipart_uload, abort_multipart_upload,
upload_part, complete_multipart_upload -> S3 APIs for single and
multipart uploads

- get_object -> streaming object downloads
2024-04-03 06:39:54 +05:30
Aditya Manthramurthy
3f160cb6c0
Parse and add tags to list objects output type (#77) 2024-04-03 06:36:53 +05:30
Aditya Manthramurthy
c672e7528b
Fix list objects xml parsing bug and improve perf. (#59)
For list-object-versions there was a bug that would return delete
markers after all versions of an object. The server response contains
the order of versions and delete markers according to recency and the
list objects client call should preserve this. This is fixed in this
change.

XML parsing was using the `take_child` call, that mutates a vector
removing an element in it. For a response containing N items, using
take_child on item, causes the XML parsing cost to be O(N^2) (so 1
million operations for a 1000 item list) - this change makes the parsing
cost linear.
2024-04-03 06:33:37 +05:30
Aditya Manthramurthy
35954da61d
Add builders for bucket methods: (#76)
- list buckets
- get bucket versioning
2024-04-03 06:29:40 +05:30
Aditya Manthramurthy
6a34d4c677
Add builder for ListenBucketNotification (#75)
- Also update the types used in NotificationRecords
2024-04-03 06:25:38 +05:30
Aditya Manthramurthy
fc20535f1d
Add builder style for list_objects (#74)
- Also add `include_user_metadata` option for list object versions
2024-04-03 06:09:40 +05:30