22 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
Tobias Pütz
e53e151e3e
fix: replace Arc<Box<...>> credential-provider with Arc<...> (#164)
* replace Arc<Box<...>> provider with Arc<...>
* remove need for caller to Box provider
2025-06-16 14:48:16 +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
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
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
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
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
jeasai
26d67b80df
Fix object download to file (#105)
The ObjectContent::to_file() function was not working properly,
as it could not write in a temporary file (created with tokio::fs::File::open(),
which opens a file in read-only mode).

To solve this issue, modified the way temporary files are opened to be
able to write inside of it.

* Add an example to download a file

This new example demonstrates how to download an object and store its
content into a file.

---------

Co-authored-by: Henk-Jan Lebbink <henkjan.lebbink@gmail.com>
Co-authored-by: Jean Sainctavit <jean.sainctavit@qarnot-computing.com>
2025-01-23 23:42:40 +01: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
43af36441a
fix: missing URL encoding for object names (#86)
URL encoding for S3 API requires that we do not encode '/' in addition
to the standard characters (`_-~.` and alphanumerics).

Also fixes a bug in error response parsing (bucket name was not parsed
correctly).

Also adds another put-object example accepting CLI args.
2024-04-26 10:06:27 -07:00
Aditya Manthramurthy
6d8031306e
Add file read/write ability to ObjectContent (#81) 2024-04-05 19:39:45 -07:00
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
Henk-Jan Lebbink
75ea23aaf1
fix deprecated lifetime; update example file-uploader (#71)
* fix: deprecated elided_lifetimes_in_associated_constant

* fix warnings

* update: example file-file-uploader
2024-03-15 09:24:44 -07:00
Aditya Manthramurthy
4958c01f4c
Add FromStr instance to BaseURL (#51) 2023-09-27 06:48:07 +05:30
Aditya Manthramurthy
e5f6b16051
Add file-uploader example (#49)
Also add some basic fields to Cargo.toml to prepare for initial release.
2023-09-26 10:43:05 -07:00