[package]
edition = "2021"
name = "sova-core"
version = "0.1.6"
authors = ["Pavel Kuzmin <Virus191288@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Core HTTP primitives for Sova (App, Router, Request, Response)"
homepage = "https://s00d.github.io/sova/"
documentation = "https://docs.rs/sova-core"
readme = "README.md"
keywords = [
"http",
"web",
"framework",
"async",
]
categories = [
"web-programming::http-server",
"network-programming",
]
license = "MIT"
repository = "https://github.com/s00d/sova"
[features]
dev-tls = [
"tls",
"dep:rcgen",
]
listen-reuseport = ["dep:socket2"]
multipart = ["dep:multer"]
testing = []
tls = [
"dep:rustls",
"dep:tokio-rustls",
"dep:rustls-pemfile",
"dep:rustls-pki-types",
"dep:arc-swap",
]
[lib]
name = "sova_core"
path = "src/lib.rs"
[[test]]
name = "body"
path = "tests/body.rs"
[[test]]
name = "catchers"
path = "tests/catchers.rs"
[[test]]
name = "concurrency"
path = "tests/concurrency.rs"
[[test]]
name = "http2_h2c"
path = "tests/http2_h2c.rs"
[[test]]
name = "http3_alt_svc"
path = "tests/http3_alt_svc.rs"
[[test]]
name = "lifecycle"
path = "tests/lifecycle.rs"
[[test]]
name = "middleware"
path = "tests/middleware.rs"
[[test]]
name = "plugin_requires"
path = "tests/plugin_requires.rs"
[[test]]
name = "plugin_sdk"
path = "tests/plugin_sdk.rs"
[[test]]
name = "probes"
path = "tests/probes.rs"
[[test]]
name = "responses"
path = "tests/responses.rs"
[[test]]
name = "route_meta"
path = "tests/route_meta.rs"
[[test]]
name = "routing"
path = "tests/routing.rs"
[[test]]
name = "test_client"
path = "tests/test_client.rs"
[[bench]]
name = "dispatch"
path = "benches/dispatch.rs"
harness = false
[dependencies.arc-swap]
version = "1"
optional = true
[dependencies.bytes]
version = "1"
[dependencies.file-rotate]
version = "0.8"
[dependencies.futures-util]
version = "0.3"
features = [
"std",
"std",
]
default-features = false
[dependencies.getrandom]
version = "0.2"
[dependencies.http]
version = "1"
[dependencies.http-body]
version = "1"
[dependencies.http-body-util]
version = "0.1"
[dependencies.hyper]
version = "1"
features = [
"server",
"client",
"http1",
"http2",
]
[dependencies.hyper-util]
version = "0.1"
features = [
"tokio",
"server-auto",
"server-graceful",
"client-legacy",
"http2",
"service",
]
[dependencies.matchit]
version = "0.9"
[dependencies.mime_guess]
version = "2"
[dependencies.multer]
version = "3"
optional = true
[dependencies.percent-encoding]
version = "2"
[dependencies.rcgen]
version = "0.13"
optional = true
[dependencies.rustc-hash]
version = "2"
[dependencies.rustls]
version = "0.23"
features = [
"ring",
"std",
"tls12",
"logging",
"ring",
"std",
"tls12",
"logging",
]
optional = true
default-features = false
[dependencies.rustls-pemfile]
version = "2"
optional = true
[dependencies.rustls-pki-types]
version = "1"
optional = true
[dependencies.serde]
version = "1"
features = [
"derive",
"derive",
]
[dependencies.serde_json]
version = "1"
[dependencies.serde_urlencoded]
version = "0.7"
[dependencies.socket2]
version = "0.5"
features = [
"all",
"all",
]
optional = true
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
"net",
"fs",
"io-util",
"signal",
"sync",
"time",
]
[dependencies.tokio-rustls]
version = "0.26"
features = [
"ring",
"tls12",
"ring",
"tls12",
]
optional = true
default-features = false
[dependencies.tokio-util]
version = "0.7"
features = [
"io",
"io",
]
[dependencies.toml]
version = "0.8"
features = [
"parse",
"parse",
]
default-features = false
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-appender]
version = "0.2"
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"fmt",
"std",
"registry",
"ansi",
"env-filter",
]
default-features = false
[dev-dependencies.bytes]
version = "1"
[dev-dependencies.criterion]
version = "0.5"
features = [
"async_tokio",
"async_tokio",
]
[dev-dependencies.futures-util]
version = "0.3"
features = [
"std",
"std",
]
default-features = false
[dev-dependencies.http]
version = "1"
[dev-dependencies.http-body-util]
version = "0.1"
[dev-dependencies.serde]
version = "1"
features = [
"derive",
"derive",
]
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"macros",
"test-util",
"net",
"time",
"io-util",
]