[package]
edition = "2024"
rust-version = "1.85"
name = "vantus"
version = "0.3.0"
build = false
include = [
"/Cargo.toml",
"/Cargo.lock",
"/README.md",
"/CHANGELOG.md",
"/SECURITY.md",
"/LICENSE",
"/deny.toml",
"/src/**",
"/docs/advanced-demo.md",
"/docs/cli-reference.md",
"/docs/configuration-reference.md",
"/docs/extraction-reference.md",
"/docs/migration-to-macros.md",
"/docs/publishing-checklist.md",
"/docs/production-notes.md",
"/docs/quick-start.md",
"/examples/cli.rs",
"/examples/main.rs",
"/examples/application.json",
"/examples/application.properties",
"/examples/application.toml",
"/benches/routing.rs",
"/tests/cli.rs",
"/tests/config.rs",
"/tests/http.rs",
"/tests/id_generator.rs",
"/tests/identity.rs",
"/tests/macros_hardening.rs",
"/tests/module_hardening.rs",
"/tests/observability.rs",
"/tests/properties.rs",
"/tests/router.rs",
"/tests/runtime_stress.rs",
"/tests/security.rs",
"/tests/ui/manual_api_removed.rs",
"/tests/ui/manual_api_removed.stderr",
"/tests/ui/service_parameter_removed.rs",
"/tests/ui/service_parameter_removed.stderr",
"/tests/ui/body_extractor_on_get.rs",
"/tests/ui/body_extractor_on_get.stderr",
"/tests/ui/multiple_body_extractors.rs",
"/tests/ui/multiple_body_extractors.stderr",
"/tests/ui/path_parameter_mismatch.rs",
"/tests/ui/path_parameter_mismatch.stderr",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Macro-first async Rust backend framework with explicit composition, typed extraction, and hardened HTTP defaults."
homepage = "https://github.com/DiplomaCoder-cmyk/vantus"
documentation = "https://docs.rs/vantus"
readme = "README.md"
keywords = [
"web",
"framework",
"macros",
"async",
"http",
]
categories = [
"web-programming::http-server",
"asynchronous",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/DiplomaCoder-cmyk/vantus.git"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
cli = ["dep:clap"]
default = ["yaml-config"]
yaml-config = ["dep:serde_yaml"]
[lib]
name = "vantus"
path = "src/lib.rs"
[[example]]
name = "cli"
path = "examples/cli.rs"
[[example]]
name = "main"
path = "examples/main.rs"
[[test]]
name = "cli"
path = "tests/cli.rs"
[[test]]
name = "config"
path = "tests/config.rs"
[[test]]
name = "http"
path = "tests/http.rs"
[[test]]
name = "id_generator"
path = "tests/id_generator.rs"
[[test]]
name = "identity"
path = "tests/identity.rs"
[[test]]
name = "macros_hardening"
path = "tests/macros_hardening.rs"
[[test]]
name = "module_hardening"
path = "tests/module_hardening.rs"
[[test]]
name = "observability"
path = "tests/observability.rs"
[[test]]
name = "properties"
path = "tests/properties.rs"
[[test]]
name = "router"
path = "tests/router.rs"
[[test]]
name = "runtime_stress"
path = "tests/runtime_stress.rs"
[[test]]
name = "security"
path = "tests/security.rs"
[[bench]]
name = "routing"
path = "benches/routing.rs"
harness = false
[dependencies.async-trait]
version = "0.1"
[dependencies.bytes]
version = "1"
[dependencies.clap]
version = "4"
features = ["derive"]
optional = true
[dependencies.dashmap]
version = "6"
[dependencies.futures-util]
version = "0.3"
[dependencies.http]
version = "1"
[dependencies.http-body-util]
version = "0.1"
[dependencies.hyper]
version = "1"
features = [
"http1",
"http2",
"server",
]
[dependencies.hyper-util]
version = "0.1"
features = [
"server",
"server-auto",
"tokio",
]
[dependencies.matchit]
version = "0.9.2"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.serde_yaml]
version = "0.9.34"
optional = true
[dependencies.thiserror]
version = "1"
[dependencies.tokio]
version = "1"
features = [
"fs",
"macros",
"net",
"rt-multi-thread",
"sync",
"time",
]
[dependencies.tokio-util]
version = "0.7"
[dependencies.toml]
version = "1.1.2"
[dependencies.tracing]
version = "0.1"
[dependencies.uuid]
version = "1"
features = ["v4"]
[dependencies.vantus_macros]
version = "0.3.0"
[dev-dependencies.criterion]
version = "0.5"
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.trybuild]
version = "1"
[profile.release]
lto = "fat"
panic = "abort"