[package]
name = "fregate"
version = "0.17.1"
edition = "2021"
license = "Apache-2.0"
repository = "https://github.com/elefant-dev/fregate-rs"
homepage = "https://github.com/elefant-dev/fregate-rs"
description = "Framework for services creation"
categories = ["web-programming"]
keywords = ["http", "grpc", "service"]
[workspace]
members = ["examples/*"]
[features]
tls = []
use_native_tls = [
"tls",
"reqwest/native-tls",
"tokio-native-tls",
"async-stream",
"futures-util",
"tokio/fs",
"tokio/net",
"tokio-stream"
]
use_native_tls_vendored = [
"use_native_tls",
"reqwest/native-tls-vendored",
"native-tls/vendored"
]
use_rustls = [
"tls",
"tokio-rustls",
"rustls-pemfile",
"async-stream",
"futures-util",
"tokio/fs",
"tokio/net",
"tokio-stream"
]
use_rustls_tls12 = [
"tls",
"use_rustls",
"tokio-rustls/tls12"
]
[dependencies]
ahash = { version = "0.8.*", optional = true }
axum = { version = "0.6.*", features = ["headers", "http1", "http2", "json", "matched-path", "original-uri", "ws"] }
config = "0.13.*"
hyper = { version = "0.14.*", features = ["full"] }
metrics = "0.21.*"
metrics-exporter-prometheus = "0.12.*"
opentelemetry = { version = "0.19.*", features = ["rt-tokio"] }
opentelemetry-http = "0.8.*"
opentelemetry-otlp = "0.12.*"
pin-project-lite = "0.2.*"
prost = "0.11.*"
reqwest = { version = "0.11.*", default-features = false, optional = true }
sealed = "0.5.*"
serde = { version = "1.0.*", features = ["derive"] }
serde_json = "1.0.*"
thiserror = "1.0.*"
time = "0.3.*"
tokio = { version = "1", features = ["signal"] }
tonic = "0.9.*"
tower = { version = "0.4.*" }
tower-http = { version = "0.4.*", features = ["util", "map-response-body"] }
tracing = { version = "0.1.*", features = ["valuable"] }
tracing-appender = { version = "0.2.*" }
tracing-opentelemetry = "0.19.*"
tracing-subscriber = { version = "0.3.*", features = ["env-filter", "fmt", "time", "registry"] }
valuable = "0.1.*"
valuable-serde = "0.1.*"
uuid = {version = "1.4.*", features=["v4"]}
tokio-metrics = { version = "0.2.*", optional = true }
async-stream = { version = "0.3.*", optional = true }
futures-util = { version = "0.3.*", optional = true }
tokio-stream = { version = "0.1.*", optional = true, features = ["net"] }
native-tls = { version = "0.2.*", optional = true, features = ["alpn"] }
tokio-native-tls = { version = "0.3.*", optional = true }
rustls-pemfile = { version = "1.0.*", optional = true }
tokio-rustls = { version = "0.24.*", optional = true, default-features = false, features = ["logging"] }
[dev-dependencies]
criterion = "0.*"
hyper-rustls = { version = "0.24.*", default-features = false, features = ["native-tokio", "http1", "tls12"] }
rustls = { version = "0.21.*", features = ["tls12", "dangerous_configuration"] }
tokio = { version = "1", features = ["rt-multi-thread"] }
tracing-subscriber = { version = "0.3.*", features = ["env-filter", "json", "time"] }
valuable-derive = "0.1.*"
[[bench]]
name = "log_fmt"
harness = false