[[bench]]
harness = false
name = "auth"
path = "benches/auth.rs"
required-features = ["jwt-auth", "middleware"]
[[bench]]
harness = false
name = "di"
path = "benches/di.rs"
required-features = ["di"]
[[bench]]
harness = false
name = "mw"
path = "benches/mw.rs"
required-features = ["middleware"]
[[bench]]
harness = false
name = "server"
path = "benches/server.rs"
[dependencies.async-compression]
features = ["tokio"]
optional = true
version = "0.4.27"
[dependencies.base64]
optional = true
version = "0.22.1"
[dependencies.bytes]
version = "1.10.1"
[dependencies.chrono]
optional = true
version = "0.4.41"
[dependencies.cookie]
features = ["percent-encode"]
optional = true
version = "0.18.1"
[dependencies.futures-util]
default-features = false
features = ["alloc"]
version = "0.3.31"
[dependencies.handlebars]
optional = true
version = "6.3.2"
[dependencies.http-body-util]
version = "0.1.3"
[dependencies.httpdate]
optional = true
version = "1.0.3"
[dependencies.hyper]
features = ["server"]
optional = true
version = "1.6.0"
[dependencies.hyper-util]
features = ["server", "server-auto", "server-graceful", "service", "tokio"]
optional = true
version = "0.1.16"
[dependencies.indexmap]
version = "2.10.0"
[dependencies.itoa]
version = "1.0.15"
[dependencies.jsonwebtoken]
optional = true
version = "9.3.1"
[dependencies.memchr]
version = "2.7.5"
[dependencies.mime]
version = "0.3.17"
[dependencies.mime_guess]
version = "2.0.5"
[dependencies.multer]
optional = true
version = "3.1.0"
[dependencies.pin-project-lite]
version = "0.2.16"
[dependencies.serde]
version = "1.0.219"
[dependencies.serde_json]
version = "1.0.142"
[dependencies.serde_urlencoded]
version = "0.7.1"
[dependencies.sha1]
optional = true
version = "0.10.6"
[dependencies.tokio]
features = ["full"]
version = "1.47.1"
[dependencies.tokio-rustls]
default-features = false
features = ["tls12", "ring"]
optional = true
version = "0.26.2"
[dependencies.tokio-tungstenite]
optional = true
version = "0.27.0"
[dependencies.tokio-util]
version = "0.7.15"
[dependencies.tracing]
default-features = false
optional = true
version = "0.1.41"
[dependencies.volga-di]
optional = true
version = "0.6.1"
[dependencies.volga-macros]
optional = true
version = "0.6.1"
[dev-dependencies.base64]
version = "0.22.1"
[dev-dependencies.criterion]
features = ["async_tokio"]
version = "0.7.0"
[dev-dependencies.hyper]
features = ["client"]
version = "1.6.0"
[dev-dependencies.jsonwebtoken]
version = "9.3.1"
[dev-dependencies.reqwest]
features = ["blocking", "multipart", "stream", "json", "http2", "brotli", "deflate", "gzip", "zstd", "native-tls"]
version = "0.12.22"
[dev-dependencies.serde]
features = ["derive"]
version = "1.0.219"
[dev-dependencies.tokio-stream]
version = "0.1.17"
[dev-dependencies.tracing-subscriber]
features = ["env-filter"]
version = "0.3.19"
[dev-dependencies.uuid]
features = ["v4"]
version = "1.17.0"
[features]
auth = ["basic-auth", "jwt-auth"]
basic-auth = ["dep:base64", "middleware"]
compression-brotli = ["middleware", "dep:async-compression", "async-compression?/brotli"]
compression-full = ["compression-brotli", "compression-gzip", "compression-zstd"]
compression-gzip = ["middleware", "dep:async-compression", "async-compression?/zlib", "async-compression?/gzip"]
compression-zstd = ["middleware", "dep:async-compression", "async-compression?/zstd"]
cookie = ["dep:cookie"]
cookie-full = ["cookie", "private-cookie", "signed-cookie"]
decompression-brotli = ["middleware", "dep:async-compression", "async-compression?/brotli"]
decompression-full = ["decompression-brotli", "decompression-gzip", "decompression-zstd"]
decompression-gzip = ["middleware", "dep:async-compression", "async-compression?/zlib", "async-compression?/gzip"]
decompression-zstd = ["middleware", "dep:async-compression", "async-compression?/zstd"]
default = ["http1"]
di = ["dep:volga-di"]
di-full = ["di", "volga-di?/macros"]
full = ["http1", "http2", "auth", "middleware", "di", "tls", "cookie-full", "tracing", "multipart", "problem-details", "static-files", "compression-full", "decompression-full", "ws"]
http1 = ["dep:hyper", "hyper?/http1", "dep:hyper-util", "hyper-util?/http1", "dep:httpdate"]
http2 = ["dep:hyper", "hyper?/http2", "dep:hyper-util", "hyper-util?/http2", "dep:httpdate"]
jwt-auth = ["dep:jsonwebtoken", "middleware"]
jwt-auth-full = ["jwt-auth", "dep:volga-macros", "volga-macros?/jwt-auth-derive"]
macros = ["dep:volga-macros"]
middleware = []
multipart = ["dep:multer"]
private-cookie = ["di", "dep:cookie", "cookie?/private"]
problem-details = []
signed-cookie = ["di", "dep:cookie", "cookie?/signed"]
static-files = ["dep:chrono", "dep:handlebars", "dep:sha1"]
tls = ["middleware", "dep:tokio-rustls", "tokio-rustls?/tls12", "tokio-rustls?/ring"]
tracing = ["middleware", "dep:tracing"]
ws = ["dep:sha1", "dep:base64", "dep:tokio-tungstenite"]
[lib]
name = "volga"
path = "src/lib.rs"
[package]
authors = ["Roman Emreis <roman.emreis@outlook.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["web-programming::http-server"]
description = "Easy & Fast Web Framework for Rust"
documentation = "https://docs.rs/volga"
edition = "2021"
homepage = "https://romanemreis.github.io/volga-docs"
keywords = ["volga", "server", "http", "web", "framework"]
license = "MIT"
name = "volga"
readme = "README.md"
repository = "https://github.com/RomanEmreis/volga"
rust-version = "1.80.0"
version = "0.6.2"
[package.metadata.docs.rs]
all-features = true
[[test]]
name = "compression"
path = "tests/compression.rs"
required-features = ["compression-full"]
[[test]]
name = "cors"
path = "tests/cors.rs"
required-features = ["middleware"]
[[test]]
name = "decompression"
path = "tests/decompression.rs"
required-features = ["decompression-full"]
[[test]]
name = "file_download"
path = "tests/file_download.rs"
[[test]]
name = "file_upload"
path = "tests/file_upload.rs"
[[test]]
name = "headers"
path = "tests/headers.rs"
[[test]]
name = "json_payload"
path = "tests/json_payload.rs"
[[test]]
name = "jwt"
path = "tests/jwt.rs"
required-features = ["jwt-auth-full", "middleware"]
[[test]]
name = "mapping_tests"
path = "tests/mapping_tests.rs"
[[test]]
name = "middleware_mapping_tests"
path = "tests/middleware_mapping_tests.rs"
required-features = ["middleware"]
[[test]]
name = "request_params"
path = "tests/request_params.rs"
[[test]]
name = "response_caching"
path = "tests/response_caching.rs"
required-features = ["middleware"]
[[test]]
name = "sse"
path = "tests/sse.rs"
[[test]]
name = "static_files"
path = "tests/static_files.rs"
required-features = ["static-files"]
[[test]]
name = "tls"
path = "tests/tls.rs"
required-features = ["tls"]
[[test]]
name = "tracing"
path = "tests/tracing.rs"
required-features = ["tracing"]
[[test]]
name = "ws"
path = "tests/ws.rs"
required-features = ["ws"]