[package]
edition = "2024"
rust-version = "1.94.1"
name = "r2kit"
version = "0.1.0"
build = false
include = [
"/src/**",
"/tests/**",
"/examples/**",
"/docs/**",
"/Cargo.toml",
"/CHANGELOG.md",
"/CONTRIBUTING.md",
"/README.md",
"/SECURITY.md",
"/LICENSE-APACHE",
"/LICENSE-MIT",
]
publish = ["crates-io"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A safe, ergonomic Rust toolkit for Cloudflare R2 object storage."
homepage = "https://github.com/zer0horizon/r2kit"
documentation = "https://docs.rs/r2kit"
readme = "README.md"
keywords = [
"cloudflare",
"r2",
"s3",
"object-storage",
"multipart",
]
categories = [
"api-bindings",
"asynchronous",
"web-programming",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/zer0horizon/r2kit"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
default = []
live-tests = []
serde = ["dep:serde"]
tracing = ["dep:tracing"]
[lib]
name = "r2kit"
path = "src/lib.rs"
[[example]]
name = "managed_upload"
path = "examples/managed_upload.rs"
[[example]]
name = "object_round_trip"
path = "examples/object_round_trip.rs"
[[test]]
name = "config"
path = "tests/config.rs"
[[test]]
name = "live_managed"
path = "tests/live_managed.rs"
required-features = ["live-tests"]
[[test]]
name = "live_object"
path = "tests/live_object.rs"
required-features = ["live-tests"]
[[test]]
name = "live_presigned_multipart"
path = "tests/live_presigned_multipart.rs"
required-features = ["live-tests"]
[[test]]
name = "live_stress"
path = "tests/live_stress.rs"
required-features = ["live-tests"]
[[test]]
name = "managed_contract"
path = "tests/managed_contract.rs"
[[test]]
name = "object_contract"
path = "tests/object_contract.rs"
[[test]]
name = "presign_contract"
path = "tests/presign_contract.rs"
[[test]]
name = "property_multipart"
path = "tests/property_multipart.rs"
[[test]]
name = "public_api"
path = "tests/public_api.rs"
[dependencies.aws-sdk-s3]
version = "=1.143.0"
features = [
"default-https-client",
"rt-tokio",
]
default-features = false
[dependencies.aws-smithy-types]
version = "1"
[dependencies.base64]
version = "0.22"
features = ["alloc"]
default-features = false
[dependencies.bytes]
version = "1"
[dependencies.fastrand]
version = "2"
[dependencies.futures-util]
version = "0.3"
features = [
"async-await",
"std",
]
default-features = false
[dependencies.headers]
version = "0.4"
[dependencies.mime]
version = "0.3"
[dependencies.oxilangtag]
version = "0.1.6"
default-features = false
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.tokio]
version = "1"
features = [
"fs",
"io-util",
"sync",
"time",
]
default-features = false
[dependencies.tracing]
version = "0.1"
features = ["std"]
optional = true
default-features = false
[dev-dependencies.md-5]
version = "0.11"
[dev-dependencies.mime_guess]
version = "2"
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.reqwest]
version = "0.12"
features = ["rustls-tls"]
default-features = false
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = [
"macros",
"rt-multi-thread",
]
default-features = false
[dev-dependencies.uuid]
version = "1"
features = ["v4"]