[package]
edition = "2021"
rust-version = "1.78"
name = "rustapi-rs"
version = "0.1.201"
authors = ["RustAPI Contributors"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A FastAPI-like web framework for Rust - DX-first, type-safe, batteries included"
documentation = "https://docs.rs/rustapi-rs"
readme = "README.md"
keywords = [
"web",
"framework",
"api",
"rest",
"http",
]
categories = ["web-programming::http-server"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/Tuntii/RustAPI"
[features]
api-key = [
"dep:rustapi-extras",
"rustapi-extras/api-key",
]
cache = [
"dep:rustapi-extras",
"rustapi-extras/cache",
]
circuit-breaker = [
"dep:rustapi-extras",
"rustapi-extras/circuit-breaker",
]
compression = ["rustapi-core/compression"]
compression-brotli = ["rustapi-core/compression-brotli"]
config = [
"dep:rustapi-extras",
"rustapi-extras/config",
]
cookies = [
"dep:rustapi-extras",
"rustapi-extras/cookies",
"rustapi-core/cookies",
]
cors = [
"dep:rustapi-extras",
"rustapi-extras/cors",
]
dedup = [
"dep:rustapi-extras",
"rustapi-extras/dedup",
]
default = ["swagger-ui"]
extras = [
"jwt",
"cors",
"rate-limit",
]
full = [
"extras",
"config",
"cookies",
"sqlx",
"toon",
"insight",
"compression",
"ws",
"view",
"timeout",
"guard",
"logging",
"circuit-breaker",
"security-headers",
"api-key",
"cache",
"dedup",
"sanitization",
"otel",
"structured-logging",
]
guard = [
"dep:rustapi-extras",
"rustapi-extras/guard",
]
insight = [
"dep:rustapi-extras",
"rustapi-extras/insight",
]
jwt = [
"dep:rustapi-extras",
"rustapi-extras/jwt",
]
logging = [
"dep:rustapi-extras",
"rustapi-extras/logging",
]
otel = [
"dep:rustapi-extras",
"rustapi-extras/otel",
]
rate-limit = [
"dep:rustapi-extras",
"rustapi-extras/rate-limit",
]
retry = [
"dep:rustapi-extras",
"rustapi-extras/retry",
]
sanitization = [
"dep:rustapi-extras",
"rustapi-extras/sanitization",
]
security-headers = [
"dep:rustapi-extras",
"rustapi-extras/security-headers",
]
sqlx = [
"dep:rustapi-extras",
"rustapi-extras/sqlx",
]
structured-logging = [
"dep:rustapi-extras",
"rustapi-extras/structured-logging",
]
swagger-ui = [
"rustapi-core/swagger-ui",
"rustapi-openapi/swagger-ui",
]
timeout = [
"dep:rustapi-extras",
"rustapi-extras/timeout",
]
toon = ["dep:rustapi-toon"]
view = ["dep:rustapi-view"]
ws = ["dep:rustapi-ws"]
[lib]
name = "rustapi_rs"
path = "src/lib.rs"
[[example]]
name = "status_demo"
path = "examples/status_demo.rs"
[[example]]
name = "typed_path_poc"
path = "examples/typed_path_poc.rs"
[[test]]
name = "api_error_derive"
path = "tests/api_error_derive.rs"
[[test]]
name = "auto_route"
path = "tests/auto_route.rs"
[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"
[[test]]
name = "readme"
path = "tests/readme.rs"
[[test]]
name = "typed_path_derive"
path = "tests/typed_path_derive.rs"
[[test]]
name = "validation_tests"
path = "tests/validation_tests.rs"
[dependencies.async-trait]
version = "0.1"
[dependencies.rustapi-core]
version = "0.1.188"
default-features = false
[dependencies.rustapi-extras]
version = "0.1.188"
optional = true
[dependencies.rustapi-macros]
version = "0.1.188"
[dependencies.rustapi-openapi]
version = "0.1.188"
default-features = false
[dependencies.rustapi-toon]
version = "0.1.188"
optional = true
[dependencies.rustapi-validate]
version = "0.1.188"
[dependencies.rustapi-view]
version = "0.1.188"
optional = true
[dependencies.rustapi-ws]
version = "0.1.188"
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.tokio]
version = "1.35"
features = ["full"]
[dependencies.tracing]
version = "0.1"
[dependencies.validator]
version = "0.18"
features = ["derive"]
[dev-dependencies.doc-comment]
version = "0.3"
[dev-dependencies.rustapi-core]
version = "0.1.188"
default-features = false
[dev-dependencies.rustapi-macros]
version = "0.1.188"
[dev-dependencies.tokio]
version = "1.35"
features = [
"full",
"macros",
"rt-multi-thread",
]
[dev-dependencies.utoipa]
version = "4.2"
features = [
"uuid",
"chrono",
]
[dev-dependencies.uuid]
version = "1.6"
features = [
"v4",
"serde",
"v4",
]