[package]
edition = "2024"
rust-version = "1.99"
name = "sofie-client"
version = "0.3.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "The one way out: outgoing requests of gateway adapters, traced, bounded and held to their vendor's hosts."
homepage = "https://sofie.rs"
readme = false
license = "MIT OR Apache-2.0"
repository = "https://github.com/sofie-rs/sofie"
[package.metadata.docs.rs]
all-features = true
[features]
meilisearch = ["sofie-db/search-engine"]
metrics = ["sofie-telemetry/metrics"]
remote-contracts = [
"dep:sofie-auth",
"serde/derive",
"sofie-db/remote-contracts",
]
testing = []
[lib]
name = "sofie_client"
path = "src/lib.rs"
[[test]]
name = "meilisearch"
path = "tests/meilisearch.rs"
[[test]]
name = "outgoing"
path = "tests/outgoing.rs"
[dependencies.bytes]
version = "1.12.1"
[dependencies.http]
version = "1.5.0"
[dependencies.http-body-util]
version = "0.1.5"
[dependencies.hyper]
version = "1.12.0"
features = [
"http1",
"http2",
"server",
"client",
]
[dependencies.hyper-util]
version = "0.1.21"
features = [
"tokio",
"server-auto",
"server-graceful",
]
[dependencies.rustls]
version = "=0.23.45"
features = [
"ring",
"std",
"tls12",
]
default-features = false
[dependencies.serde]
version = "1.0.229"
[dependencies.serde_json]
version = "1.0.151"
[dependencies.sofie-auth]
version = "0.3.0"
optional = true
[dependencies.sofie-core]
version = "0.3.0"
[dependencies.sofie-db]
version = "0.3.0"
features = ["idempotency"]
[dependencies.sofie-telemetry]
version = "0.3.0"
[dependencies.tokio]
version = "1.53.2"
features = [
"rt",
"net",
"time",
]
[dependencies.tokio-rustls]
version = "=0.26.6"
features = [
"ring",
"tls12",
]
default-features = false
[dependencies.tracing]
version = "0.1.44"
features = ["std"]
default-features = false
[dependencies.webpki-roots]
version = "=1.0.9"
[dev-dependencies.tokio]
version = "1.53.2"
features = [
"rt",
"macros",
"rt-multi-thread",
]
[lints.clippy]
missing_errors_doc = "allow"
missing_panics_doc = "allow"
unused_async = "allow"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
unsafe_code = "forbid"