[package]
edition = "2021"
rust-version = "1.94"
name = "osproxy-transport"
version = "1.0.2"
authors = ["Huy Nguyen"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Wire I/O: HTTP/1.1, HTTP/2, gRPC ingress, upstream connection pools, TLS, CryptoProvider."
readme = false
license = "Apache-2.0"
repository = "https://github.com/huyz0/opensearch-proxy"
[features]
default = ["non-fips"]
fips = [
"dep:aws-lc-rs",
"tokio-rustls/fips",
]
non-fips = [
"dep:ring",
"tokio-rustls/ring",
]
[lib]
name = "osproxy_transport"
path = "src/lib.rs"
[[test]]
name = "fips"
path = "tests/fips.rs"
[[test]]
name = "ingress"
path = "tests/ingress.rs"
[[test]]
name = "memory"
path = "tests/memory.rs"
[[test]]
name = "mtls"
path = "tests/mtls.rs"
[[test]]
name = "shutdown"
path = "tests/shutdown.rs"
[[test]]
name = "tls"
path = "tests/tls.rs"
[[bench]]
name = "classify"
path = "benches/classify.rs"
harness = false
[dependencies.aws-lc-rs]
version = "=1.17.0"
features = ["fips"]
optional = true
[dependencies.bytes]
version = "1"
[dependencies.http-body-util]
version = "0.1"
[dependencies.hyper]
version = "1"
features = [
"server",
"http1",
"http2",
]
default-features = false
[dependencies.hyper-util]
version = "0.1"
features = [
"server",
"server-auto",
"service",
"tokio",
]
default-features = false
[dependencies.osproxy-core]
version = "1.0.2"
[dependencies.osproxy-spi]
version = "1.0.2"
[dependencies.prost]
version = "0.14"
[dependencies.ring]
version = "0.17"
optional = true
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"rt",
"net",
"sync",
"time",
"macros",
]
default-features = false
[dependencies.tokio-rustls]
version = "0.26"
features = [
"tls12",
"logging",
]
default-features = false
[dependencies.tokio-stream]
version = "0.1"
features = ["net"]
default-features = false
[dependencies.tonic]
version = "0.14"
features = [
"server",
"router",
"transport",
"codegen",
"channel",
]
default-features = false
[dependencies.tonic-prost]
version = "0.14"
[dev-dependencies.dhat]
version = "0.3"
[dev-dependencies.divan]
version = "0.1"
[dev-dependencies.hyper]
version = "1"
features = ["client"]
default-features = false
[dev-dependencies.hyper-util]
version = "0.1"
features = [
"client",
"client-legacy",
"http1",
"http2",
"tokio",
]
default-features = false
[dev-dependencies.rcgen]
version = "0.13"
[dev-dependencies.tokio]
version = "1"
features = [
"macros",
"rt-multi-thread",
"net",
"time",
]
default-features = false
[dev-dependencies.tonic]
version = "0.14"
features = [
"server",
"router",
"transport",
"codegen",
"channel",
"server",
"router",
"transport",
"channel",
"tls-ring",
]
default-features = false
[build-dependencies.tonic-prost-build]
version = "0.14"
[lints.clippy]
cognitive_complexity = "warn"
expect_used = "deny"
module_name_repetitions = "allow"
panic = "deny"
todo = "deny"
too_many_arguments = "warn"
too_many_lines = "warn"
unimplemented = "deny"
unwrap_used = "deny"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.clippy.pedantic]
level = "warn"
priority = -1
[lints.rust]
missing_debug_implementations = "warn"
unreachable_pub = "warn"
unsafe_code = "forbid"