[package]
edition = "2021"
name = "skyzen"
version = "0.1.2"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A fast, ergonomic HTTP framework that works everywhere"
readme = "README.md"
keywords = [
"http",
"web",
"framework",
]
categories = ["web-programming::http-server"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/zen-rs/skyzen"
[features]
auth = []
default = [
"json",
"form",
"multipart",
"sse",
"rt",
"openapi",
"ws",
"static-files",
"runtime-async-std-native-tls",
]
form = [
"dep:serde_urlencoded",
"http-kit/form",
]
hyper = ["dep:skyzen-hyper"]
json = ["http-kit/json"]
jwt = [
"auth",
"dep:jsonwebtoken",
]
multipart = [
"dep:multer",
"dep:pin-project-lite",
]
openapi = ["skyzen-core/openapi"]
rt = []
runtime-async-std-native-tls = ["skyzen-services/runtime-async-std-native-tls"]
runtime-async-std-rustls = ["skyzen-services/runtime-async-std-rustls"]
sse = [
"dep:itoa",
"dep:async-channel",
"dep:pin-project-lite",
]
static-files = []
ws = [
"json",
"dep:futures-channel",
"dep:base64",
"dep:sha1",
"dep:async-tungstenite",
]
[lib]
name = "skyzen"
path = "src/lib.rs"
[[example]]
name = "embed_hyper"
path = "examples/embed_hyper.rs"
required-features = ["hyper"]
[[example]]
name = "native"
path = "examples/native.rs"
[[example]]
name = "openapi"
path = "examples/openapi.rs"
[[example]]
name = "openapi_full"
path = "examples/openapi_full.rs"
[[example]]
name = "services"
path = "examples/services.rs"
[[example]]
name = "websocket_echo"
path = "examples/websocket_echo.rs"
[[example]]
name = "worker"
path = "examples/worker.rs"
[[test]]
name = "error_macro"
path = "tests/error_macro.rs"
[[test]]
name = "hyper_websocket"
path = "tests/hyper_websocket.rs"
[[test]]
name = "skyzen_test_macro"
path = "tests/skyzen_test_macro.rs"
[dependencies.async-channel]
version = "2.5"
optional = true
[dependencies.base64]
version = "0.22"
optional = true
[dependencies.bytes]
version = "1.11"
[dependencies.cookie]
version = "0.18.1"
features = ["percent-encode"]
[dependencies.flate2]
version = "1.1"
[dependencies.futures-core]
version = "0.3.32"
[dependencies.futures-util]
version = "0.3.32"
[dependencies.http]
version = "1.4"
[dependencies.http-kit]
version = "0.4.2"
[dependencies.include_dir]
version = "0.7"
[dependencies.itoa]
version = "1.0"
optional = true
[dependencies.matchit]
version = "0.9.1"
[dependencies.mime_guess]
version = "2.0"
[dependencies.multer]
version = "3.1"
optional = true
[dependencies.pin-project-lite]
version = "0.2.16"
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.serde_urlencoded]
version = "0.7.1"
optional = true
[dependencies.sha1]
version = "0.10"
optional = true
[dependencies.skyzen-core]
version = "0.1.1"
[dependencies.skyzen-macros]
version = "0.1.2"
[dependencies.skyzen-services]
version = "0.1.0"
[dependencies.smallvec]
version = "1.15"
[dependencies.tracing]
version = "0.1.44"
[dependencies.utoipa]
version = "5.4"
default-features = false
[dependencies.utoipa-redoc]
version = "6.0"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.async-channel]
version = "2.5"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.async-fs]
version = "2.2.0"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.async-io]
version = "2.6"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.async-net]
version = "2.0"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.async-tungstenite]
version = "0.33.0"
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.color-eyre]
version = "0.6"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.ctrlc]
version = "3.5"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.executor-core]
version = "0.7.1"
features = [
"std",
"async-executor",
"smol",
]
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.http-body-util]
version = "0.1.3"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.hyper]
version = "1.8"
features = [
"server",
"http1",
"http2",
]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.jsonwebtoken]
version = "10"
features = ["aws_lc_rs"]
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.linkme]
version = "0.3"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.skyzen-hyper]
version = "0.1.1"
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.smol]
version = "2.0"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tokio]
version = "1.49"
features = [
"rt",
"rt-multi-thread",
"signal",
]
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tracing-log]
version = "0.2"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"fmt",
"ansi",
]
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.async-tungstenite]
version = "0.33.0"
features = ["tokio-runtime"]
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.executor-core]
version = "0.7.1"
features = ["tokio"]
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.femme]
version = "2.2.1"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.futures-lite]
version = "2.6"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.serial_test]
version = "3.2"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.skyzen-hyper]
version = "0.1.1"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.skyzen-services]
version = "0.1.0"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.skyzen-test]
version = "0.1.0"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.tempfile]
version = "3.25"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.tokio]
version = "1.49"
features = [
"macros",
"rt-multi-thread",
"signal",
"net",
]
[target.'cfg(target_arch = "wasm32")'.dependencies.futures-channel]
version = "0.3.32"
optional = true
[target.'cfg(target_arch = "wasm32")'.dependencies.js-sys]
version = "0.3.87"
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen]
version = "0.2.110"
features = ["spans"]
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen-futures]
version = "0.4.60"
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-streams]
version = "0.5"
[target.'cfg(target_arch = "wasm32")'.dependencies.web-sys]
version = "0.3.87"
features = [
"Request",
"Response",
"ResponseInit",
"Headers",
"ReadableStream",
"ReadableStreamDefaultReader",
"ReadableStreamDefaultController",
"WebSocket",
]
[lints.clippy]
all = "warn"
cargo = "warn"
complexity = "warn"
correctness = "warn"
nursery = "warn"
pedantic = "warn"
perf = "warn"
style = "warn"
suspicious = "warn"
[lints.clippy.multiple_crate_versions]
level = "allow"
priority = 1
[lints.rust]
missing_debug_implementations = "warn"
missing_docs = "warn"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(coverage)"]