[package]
edition = "2021"
rust-version = "1.96"
name = "churust-core"
version = "0.3.0"
authors = ["David Cruz Anaya <david.cruz@davthecoder.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Core engine, routing, pipeline, and extractors for the Churust web framework."
homepage = "https://github.com/davthecoder/Churust"
readme = "README.md"
keywords = [
"web",
"framework",
"http",
"ktor",
"async",
]
categories = [
"web-programming::http-server",
"asynchronous",
"network-programming",
]
license = "MIT"
repository = "https://github.com/davthecoder/Churust"
[package.metadata.docs.rs]
all-features = true
[features]
default = []
fs = [
"tokio/fs",
"dep:httpdate",
]
http3 = [
"tls",
"dep:quinn",
"dep:h3",
"dep:h3-quinn",
]
multipart = []
tls = [
"dep:rustls",
"dep:tokio-rustls",
"dep:rustls-pemfile",
]
tower = [
"dep:tower-service",
"dep:tower-layer",
]
ws = ["dep:tokio-tungstenite"]
[lib]
name = "churust_core"
path = "src/lib.rs"
[[test]]
name = "accept_limits"
path = "tests/accept_limits.rs"
[[test]]
name = "allow_consistency"
path = "tests/allow_consistency.rs"
[[test]]
name = "block_and_either"
path = "tests/block_and_either.rs"
[[test]]
name = "body_admission"
path = "tests/body_admission.rs"
[[test]]
name = "cookies"
path = "tests/cookies.rs"
[[test]]
name = "engine_serve"
path = "tests/engine_serve.rs"
[[test]]
name = "errors_and_extractors"
path = "tests/errors_and_extractors.rs"
[[test]]
name = "framing_conformance"
path = "tests/framing_conformance.rs"
[[test]]
name = "graceful_drain"
path = "tests/graceful_drain.rs"
[[test]]
name = "guards"
path = "tests/guards.rs"
[[test]]
name = "h2_slowloris"
path = "tests/h2_slowloris.rs"
[[test]]
name = "head_options"
path = "tests/head_options.rs"
[[test]]
name = "http2"
path = "tests/http2.rs"
[[test]]
name = "http3"
path = "tests/http3.rs"
[[test]]
name = "identity"
path = "tests/identity.rs"
[[test]]
name = "keep_alive"
path = "tests/keep_alive.rs"
[[test]]
name = "limits"
path = "tests/limits.rs"
[[test]]
name = "listing_and_uds"
path = "tests/listing_and_uds.rs"
[[test]]
name = "listing_safety"
path = "tests/listing_safety.rs"
[[test]]
name = "misuse"
path = "tests/misuse.rs"
[[test]]
name = "multi_value"
path = "tests/multi_value.rs"
[[test]]
name = "multipart"
path = "tests/multipart.rs"
[[test]]
name = "multipart_streaming"
path = "tests/multipart_streaming.rs"
[[test]]
name = "optional_extractors"
path = "tests/optional_extractors.rs"
[[test]]
name = "options_asterisk"
path = "tests/options_asterisk.rs"
[[test]]
name = "path_destructure"
path = "tests/path_destructure.rs"
[[test]]
name = "path_policy"
path = "tests/path_policy.rs"
[[test]]
name = "payload_limit"
path = "tests/payload_limit.rs"
[[test]]
name = "peer_addr"
path = "tests/peer_addr.rs"
[[test]]
name = "per_route_limits"
path = "tests/per_route_limits.rs"
[[test]]
name = "permit_and_host"
path = "tests/permit_and_host.rs"
[[test]]
name = "router_backtracking"
path = "tests/router_backtracking.rs"
[[test]]
name = "scoped_middleware"
path = "tests/scoped_middleware.rs"
[[test]]
name = "security_headers"
path = "tests/security_headers.rs"
[[test]]
name = "sessions"
path = "tests/sessions.rs"
[[test]]
name = "static_http"
path = "tests/static_http.rs"
[[test]]
name = "status_pages"
path = "tests/status_pages.rs"
[[test]]
name = "streaming"
path = "tests/streaming.rs"
[[test]]
name = "streaming_body"
path = "tests/streaming_body.rs"
[[test]]
name = "timeout"
path = "tests/timeout.rs"
[[test]]
name = "tls_handshake"
path = "tests/tls_handshake.rs"
[[test]]
name = "tower_adapter"
path = "tests/tower_adapter.rs"
[[test]]
name = "traversal"
path = "tests/traversal.rs"
[[test]]
name = "websocket"
path = "tests/websocket.rs"
[[test]]
name = "wildcard_specificity"
path = "tests/wildcard_specificity.rs"
[[test]]
name = "ws_budget"
path = "tests/ws_budget.rs"
[[test]]
name = "ws_keep_alive"
path = "tests/ws_keep_alive.rs"
[dependencies.async-trait]
version = "0.1"
[dependencies.bytes]
version = "1"
[dependencies.futures-util]
version = "0.3"
[dependencies.h3]
version = "0.0.8"
optional = true
[dependencies.h3-quinn]
version = "0.0.10"
optional = true
[dependencies.hmac]
version = "0.12"
[dependencies.http]
version = "1"
[dependencies.http-body]
version = "1"
[dependencies.http-body-util]
version = "0.1"
[dependencies.httpdate]
version = "1"
optional = true
[dependencies.hyper]
version = "1.11"
features = [
"http1",
"http2",
"server",
]
[dependencies.hyper-util]
version = "0.1"
features = [
"tokio",
"server",
"server-auto",
"server-graceful",
"client",
"client-legacy",
]
[dependencies.quinn]
version = "0.11"
features = [
"runtime-tokio",
"rustls-ring",
]
optional = true
default-features = false
[dependencies.rustls]
version = "0.23"
features = [
"ring",
"std",
"tls12",
"logging",
]
optional = true
default-features = false
[dependencies.rustls-pemfile]
version = "2"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_html_form]
version = "0.2"
[dependencies.sha2]
version = "0.10"
[dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"net",
"io-util",
"time",
"sync",
"signal",
"macros",
]
[dependencies.tokio-rustls]
version = "0.26"
features = [
"ring",
"tls12",
"logging",
]
optional = true
default-features = false
[dependencies.tokio-tungstenite]
version = "0.26"
optional = true
[dependencies.toml]
version = "0.8"
[dependencies.tower-layer]
version = "0.3"
optional = true
[dependencies.tower-service]
version = "0.3"
optional = true
[dependencies.tracing]
version = "0.1"
[dev-dependencies.futures-util]
version = "0.3"
[dev-dependencies.h2]
version = "0.4"
[dev-dependencies.h3]
version = "0.0.8"
[dev-dependencies.h3-quinn]
version = "0.0.10"
[dev-dependencies.quinn]
version = "0.11"
features = [
"runtime-tokio",
"rustls-ring",
]
default-features = false
[dev-dependencies.rcgen]
version = "0.13"
[dev-dependencies.rustls]
version = "0.23"
features = [
"ring",
"std",
"tls12",
"logging",
]
default-features = false
[dev-dependencies.tokio-tungstenite]
version = "0.26"
[dev-dependencies.tower-layer]
version = "0.3"
[dev-dependencies.tower-service]
version = "0.3"