[package]
edition = "2021"
rust-version = "1.78"
name = "rustapi-rs"
version = "0.1.397"
authors = ["RustAPI Contributors, Tuntii"]
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 = ["extras-api-key"]
cache = ["extras-cache"]
circuit-breaker = ["extras-circuit-breaker"]
compression = ["core-compression"]
compression-brotli = ["core-compression-brotli"]
config = ["extras-config"]
cookies = ["core-cookies"]
core = [
"core-openapi",
"core-tracing",
]
core-compression = ["rustapi-core/compression"]
core-compression-brotli = ["rustapi-core/compression-brotli"]
core-cookies = [
"dep:rustapi-extras",
"rustapi-extras/cookies",
"rustapi-core/cookies",
]
core-http3 = ["rustapi-core/http3"]
core-http3-dev = ["rustapi-core/http3-dev"]
core-legacy-validator = [
"dep:validator",
"rustapi-core/legacy-validator",
]
core-openapi = [
"rustapi-core/swagger-ui",
"rustapi-openapi/swagger-ui",
]
core-simd-json = ["rustapi-core/simd-json"]
core-tracing = ["rustapi-core/tracing"]
cors = ["extras-cors"]
dedup = ["extras-dedup"]
default = ["core"]
extras = [
"extras-jwt",
"extras-cors",
"extras-rate-limit",
]
extras-all = [
"extras-jwt",
"extras-cors",
"extras-rate-limit",
"extras-config",
"extras-sqlx",
"extras-insight",
"extras-timeout",
"extras-guard",
"extras-logging",
"extras-circuit-breaker",
"extras-retry",
"extras-security-headers",
"extras-api-key",
"extras-cache",
"extras-dedup",
"extras-sanitization",
"extras-otel",
"extras-structured-logging",
"extras-replay",
]
extras-api-key = [
"dep:rustapi-extras",
"rustapi-extras/api-key",
]
extras-cache = [
"dep:rustapi-extras",
"rustapi-extras/cache",
]
extras-circuit-breaker = [
"dep:rustapi-extras",
"rustapi-extras/circuit-breaker",
]
extras-config = [
"dep:rustapi-extras",
"rustapi-extras/config",
]
extras-cors = [
"dep:rustapi-extras",
"rustapi-extras/cors",
]
extras-dedup = [
"dep:rustapi-extras",
"rustapi-extras/dedup",
]
extras-guard = [
"dep:rustapi-extras",
"rustapi-extras/guard",
]
extras-insight = [
"dep:rustapi-extras",
"rustapi-extras/insight",
]
extras-jwt = [
"dep:rustapi-extras",
"rustapi-extras/jwt",
]
extras-logging = [
"dep:rustapi-extras",
"rustapi-extras/logging",
]
extras-otel = [
"dep:rustapi-extras",
"rustapi-extras/otel",
]
extras-rate-limit = [
"dep:rustapi-extras",
"rustapi-extras/rate-limit",
]
extras-replay = [
"dep:rustapi-extras",
"rustapi-extras/replay",
]
extras-retry = [
"dep:rustapi-extras",
"rustapi-extras/retry",
]
extras-sanitization = [
"dep:rustapi-extras",
"rustapi-extras/sanitization",
]
extras-security-headers = [
"dep:rustapi-extras",
"rustapi-extras/security-headers",
]
extras-sqlx = [
"dep:rustapi-extras",
"rustapi-extras/sqlx",
]
extras-structured-logging = [
"dep:rustapi-extras",
"rustapi-extras/structured-logging",
]
extras-timeout = [
"dep:rustapi-extras",
"rustapi-extras/timeout",
]
full = [
"core",
"protocol-all",
"extras-all",
"core-legacy-validator",
]
grpc = ["protocol-grpc"]
guard = ["extras-guard"]
http3 = ["protocol-http3"]
http3-dev = ["protocol-http3-dev"]
insight = ["extras-insight"]
jwt = ["extras-jwt"]
legacy-validator = ["core-legacy-validator"]
logging = ["extras-logging"]
otel = ["extras-otel"]
protocol-all = [
"protocol-toon",
"protocol-ws",
"protocol-view",
"protocol-grpc",
]
protocol-grpc = ["dep:rustapi-grpc"]
protocol-http3 = ["core-http3"]
protocol-http3-dev = ["core-http3-dev"]
protocol-toon = ["dep:rustapi-toon"]
protocol-view = ["dep:rustapi-view"]
protocol-ws = ["dep:rustapi-ws"]
rate-limit = ["extras-rate-limit"]
replay = ["extras-replay"]
retry = ["extras-retry"]
sanitization = ["extras-sanitization"]
security-headers = ["extras-security-headers"]
simd-json = ["core-simd-json"]
sqlx = ["extras-sqlx"]
structured-logging = ["extras-structured-logging"]
swagger-ui = ["core-openapi"]
timeout = ["extras-timeout"]
toon = ["protocol-toon"]
tracing = ["core-tracing"]
view = ["protocol-view"]
ws = ["protocol-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.335"
default-features = false
[dependencies.rustapi-extras]
version = "0.1.335"
optional = true
[dependencies.rustapi-grpc]
version = "0.1.335"
optional = true
[dependencies.rustapi-macros]
version = "0.1.335"
[dependencies.rustapi-openapi]
version = "0.1.335"
default-features = false
[dependencies.rustapi-toon]
version = "0.1.335"
optional = true
[dependencies.rustapi-validate]
version = "0.1.335"
[dependencies.rustapi-view]
version = "0.1.335"
optional = true
[dependencies.rustapi-ws]
version = "0.1.335"
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.tokio]
version = "1.35"
[dependencies.tracing]
version = "0.1"
[dependencies.validator]
version = "0.18"
features = ["derive"]
optional = true
[dev-dependencies.doc-comment]
version = "0.3"
[dev-dependencies.rustapi-core]
version = "0.1.335"
default-features = false
[dev-dependencies.rustapi-macros]
version = "0.1.335"
[dev-dependencies.tokio]
version = "1.35"
features = [
"macros",
"rt-multi-thread",
]
[dev-dependencies.uuid]
version = "1.6"
features = [
"v4",
"serde",
"v4",
]