You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
synctv/synctv-media-providers/Cargo.toml

128 lines
2.7 KiB
TOML

[package]
name = "synctv-media-providers"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
[[bin]]
name = "media-provider-server"
path = "src/bin/media-provider-server.rs"
[dependencies]
# Async
tokio.workspace = true
async-trait.workspace = true
# HTTP Client
reqwest.workspace = true
tokio-tungstenite.workspace = true
futures-util.workspace = true
tokio-stream = { workspace = true, features = ["net"] }
# gRPC
tonic.workspace = true
tower.workspace = true
tonic-prost.workspace = true
tonic-health.workspace = true
prost.workspace = true
prost-types.workspace = true
hyper-util.workspace = true
tokio-rustls.workspace = true
rustls.workspace = true
# Serialization
serde.workspace = true
serde_json.workspace = true
serde_urlencoded.workspace = true
quick-xml.workspace = true
chrono.workspace = true
html-escape.workspace = true
# Utilities
anyhow.workspace = true
thiserror.workspace = true
bytes.workspace = true
regex.workspace = true
oxc_allocator.workspace = true
oxc_ast.workspace = true
oxc_parser.workspace = true
oxc_span.workspace = true
boa_engine.workspace = true
url.workspace = true
percent-encoding.workspace = true
subtle.workspace = true
sha2.workspace = true
sha1.workspace = true
sm3.workspace = true
hmac.workspace = true
rsa.workspace = true
md-5.workspace = true
uuid.workspace = true
moka.workspace = true
# SSRF Protection
synctv-common = { workspace = true, default-features = false }
# Compression
flate2.workspace = true
brotli.workspace = true
# Logging
tracing.workspace = true
tracing-subscriber.workspace = true
backon.workspace = true
# Utilities
# Encryption
aes-gcm.workspace = true
aes.workspace = true
cbc.workspace = true
rand.workspace = true
base64.workspace = true
hex.workspace = true
[features]
default = ["tls-aws-lc", "tls-webpki-roots"]
tls-aws-lc = [
"synctv-common/tls-aws-lc",
"reqwest/rustls",
"tonic/tls-aws-lc",
"rustls/aws_lc_rs",
"tokio-rustls/aws_lc_rs",
]
tls-ring = [
"synctv-common/tls-ring",
"reqwest/rustls-no-provider",
"tonic/tls-ring",
"rustls/ring",
"tokio-rustls/ring",
]
tls-webpki-roots = [
"synctv-common/tls-webpki-roots",
"tonic/tls-webpki-roots",
"tokio-tungstenite/rustls-tls-webpki-roots",
"rustls/ring",
"tokio-rustls/ring",
]
tls-native-roots = [
"synctv-common/tls-native-roots",
"tonic/tls-native-roots",
"tokio-tungstenite/rustls-tls-native-roots",
"rustls/ring",
"tokio-rustls/ring",
]
[lints]
workspace = true
[build-dependencies]
tonic-prost-build.workspace = true
[dev-dependencies]
tokio = { workspace = true, features = ["test-util"] }
wiremock.workspace = true
futures.workspace = true
synctv-core-testing.workspace = true