mirror of
https://github.com/minio/minio-rs.git
synced 2025-12-06 15:26:51 +08:00
Adds RequestHooks trait to enable intercepting and modifying S3 API requests at key points in the request lifecycle. This enables implementing cross-cutting concerns like load balancing, telemetry, and debug logging without modifying the core request handling logic. --------- Co-authored-by: Tobias Pütz <tobias@minio.io>
97 lines
2.3 KiB
TOML
97 lines
2.3 KiB
TOML
[package]
|
|
name = "minio"
|
|
version = "0.3.0"
|
|
edition = "2024"
|
|
authors = ["MinIO Dev Team <dev@min.io>"]
|
|
description = "MinIO SDK for Amazon S3 compatible object storage access"
|
|
license = "Apache-2.0"
|
|
repository = "https://github.com/minio/minio-rs"
|
|
readme = "README.md"
|
|
keywords = ["object-storage", "minio", "s3"]
|
|
categories = ["api-bindings", "web-programming::http-client"]
|
|
|
|
[features]
|
|
default = ["default-tls", "default-crypto"]
|
|
default-tls = ["reqwest/default-tls"]
|
|
native-tls = ["reqwest/native-tls"]
|
|
rustls-tls = ["reqwest/rustls-tls"]
|
|
default-crypto = ["dep:sha2", "dep:hmac"]
|
|
ring = ["dep:ring"]
|
|
localhost = []
|
|
|
|
[workspace.dependencies]
|
|
uuid = "1.18"
|
|
futures-util = "0.3"
|
|
reqwest = { version = "0.12", default-features = false }
|
|
bytes = "1.10"
|
|
async-std = "1.13"
|
|
|
|
|
|
[dependencies]
|
|
uuid = { workspace = true, features = ["v4"] }
|
|
futures-util = { workspace = true }
|
|
bytes = { workspace = true }
|
|
async-std = { workspace = true, features = ["attributes"] }
|
|
reqwest = { workspace = true, features = ["stream"] }
|
|
|
|
async-recursion = "1.1"
|
|
async-stream = "0.3"
|
|
async-trait = "0.1"
|
|
base64 = "0.22"
|
|
chrono = "0.4"
|
|
crc = "3.3"
|
|
dashmap = "6.1.0"
|
|
env_logger = "0.11"
|
|
hmac = { version = "0.12", optional = true }
|
|
hyper = { version = "1.7", features = ["full"] }
|
|
lazy_static = "1.5"
|
|
log = "0.4"
|
|
md5 = "0.8"
|
|
multimap = "0.10"
|
|
percent-encoding = "2.3"
|
|
url = "2.5"
|
|
regex = "1.12"
|
|
ring = { version = "0.17", optional = true, default-features = false, features = ["alloc"] }
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
sha2 = { version = "0.10", optional = true }
|
|
urlencoding = "2.1"
|
|
xmltree = "0.12"
|
|
http = "1.3"
|
|
thiserror = "2.0"
|
|
typed-builder = "0.23"
|
|
|
|
[dev-dependencies]
|
|
minio-common = { path = "./common" }
|
|
minio-macros = { path = "./macros" }
|
|
tokio = { version = "1.48", features = ["full"] }
|
|
async-std = { version = "1.13", features = ["attributes", "tokio1"] }
|
|
clap = { version = "4.5", features = ["derive"] }
|
|
rand = { version = "0.9", features = ["small_rng"] }
|
|
quickcheck = "1.0"
|
|
criterion = "0.7"
|
|
|
|
[lib]
|
|
name = "minio"
|
|
path = "src/lib.rs"
|
|
|
|
[[example]]
|
|
name = "file_uploader"
|
|
|
|
[[example]]
|
|
name = "file_downloader"
|
|
|
|
[[example]]
|
|
name = "object_prompt"
|
|
|
|
[[example]]
|
|
name = "append_object"
|
|
|
|
[[example]]
|
|
name = "load_balancing_with_hooks"
|
|
|
|
[[bench]]
|
|
name = "s3-api"
|
|
path = "benches/s3/api_benchmarks.rs"
|
|
harness = false
|