salvo_extra 0.37.1

Salvo is a powerful and simplest web server framework in Rust world.
Documentation
[package]
name = "salvo_extra"
version.workspace = true
authors.workspace = true
edition.workspace = true
description.workspace = true
homepage.workspace = true
repository.workspace = true
readme.workspace = true
keywords.workspace = true
license.workspace = true
categories.workspace = true

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[features]
default = ["full"]
full = ["affix", "basic-auth", "caching-headers", "force-https", "jwt-auth", "compression", "logging", "proxy", "sse", "size-limiter", "trailing-slash", "timeout", "ws"]
affix = []
basic-auth = ["dep:base64"]
caching-headers = ["dep:etag", "dep:tracing"]
compression = ["dep:async-compression", "dep:bytes", "tokio", "dep:tokio-stream", "dep:tokio-util", "dep:tracing"]
force-https = ["dep:tracing"]
jwt-auth = ["dep:jsonwebtoken", "dep:once_cell", "dep:serde", "salvo_core/cookie", "dep:tracing"]
logging = ["dep:tracing"]
proxy = ["dep:fastrand", "dep:hyper", "hyper-rustls/webpki-tokio", "dep:once_cell", "tokio", "dep:tracing"]
size-limiter = []
sse = ["dep:futures-util", "dep:pin-project", "tokio", "dep:serde", "dep:serde_json", "dep:tracing"]
trailing-slash = ["dep:tracing"]
timeout = ["tokio/macros"]
ws = ["dep:futures-util", "dep:hyper", "tokio-tungstenite", "dep:tracing"]

[dependencies]
async-compression = { workspace = true, features = ["brotli", "deflate", "gzip", "tokio"], optional = true }
async-session = { workspace = true, optional = true }
base64 = { workspace = true, optional = true }
bytes = { workspace = true, optional = true }
etag = { workspace = true, features = ["std"], optional = true }
fastrand = { workspace = true, optional = true }
futures-util = { workspace = true, default-features = false, optional = true }
hyper = { workspace = true, features = ["stream", "server", "http1", "http2", "tcp", "client"], optional = true }
hyper-rustls = { workspace = true, features = ["http1", "http2"], optional = true }
jsonwebtoken = { workspace = true, optional = true }
once_cell = { workspace = true, optional = true }
pin-project = { workspace = true, optional = true }
salvo_core = { workspace = true, default-features = false, path = "../core" }
serde = { workspace = true, features = ["derive"], optional = true }
serde_json = { workspace = true, optional = true }
tokio = { workspace = true, optional = true }
tokio-stream = { workspace = true, optional = true }
tokio-tungstenite = { workspace = true, default-features = false, optional = true }
tokio-util = { workspace = true, features = ["io"], optional = true }
tracing = { workspace = true, optional = true }

[dev-dependencies]
reqwest.workspace = true
salvo_core = { features = ["test"], path = "../core" }
time.workspace = true
tracing-test.workspace = true