[package]
edition = "2021"
rust-version = "1.89"
name = "simoom"
version = "0.1.0"
authors = ["Sudheesh PM <pmsudhi@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "simoom: a small, fast, secure embeddable HTTP/1.1, HTTP/2 and HTTP/3 server."
homepage = "https://github.com/Cameleering/simoom"
documentation = "https://docs.rs/simoom"
readme = "README.md"
keywords = [
"http",
"http2",
"http3",
"server",
"quic",
]
categories = [
"web-programming::http-server",
"network-programming",
"embedded",
]
license = "Apache-2.0"
repository = "https://github.com/Cameleering/simoom"
[features]
auth = [
"dep:simoom-tls",
"simoom-tls/legacy",
]
brotli = [
"compression",
"simoom-compress/brotli",
]
compression = ["dep:simoom-compress"]
conditional = []
cookies = []
cors = []
default = [
"http1",
"http2",
"websocket",
"io-uring",
"watchdog",
"guard",
"idle-trim",
]
full = [
"http1",
"http2",
"http3",
"tls",
"tls-extra",
"tls-client",
"websocket",
"io-uring",
"watchdog",
"guard",
"idle-trim",
]
guard = []
h2-keepalive = [
"http2",
"simoom-h2/keepalive",
]
http1 = []
http2 = ["dep:simoom-h2"]
http3 = [
"tls",
"dep:simoom-quic",
"dep:simoom-h3",
"simoom-rt/udp",
]
idle-trim = ["simoom-rt/idle-trim"]
io-uring = ["simoom-rt/io-uring"]
multipart = []
tls = [
"dep:simoom-tls",
"simoom-tls/rsa",
]
tls-client = [
"tls",
"simoom-tls/client",
"simoom-quic?/client",
]
tls-extra = [
"tls",
"simoom-tls/p384",
"simoom-tls/ed25519",
"simoom-tls/chacha20",
]
watchdog = []
websocket = [
"http1",
"simoom-http1/websocket",
]
websocket-h2 = [
"websocket",
"http2",
"simoom-h2/connect-protocol",
]
websocket-h3 = [
"websocket",
"http3",
]
ws = ["websocket"]
ws-deflate = [
"websocket",
"simoom-http1/permessage-deflate",
]
zstd = [
"compression",
"simoom-compress/zstd",
]
[lib]
name = "simoom"
path = "src/lib.rs"
[[example]]
name = "bench_server"
path = "examples/bench_server.rs"
[[example]]
name = "conformance_server"
path = "examples/conformance_server.rs"
[[example]]
name = "empty"
path = "examples/empty.rs"
[[example]]
name = "h3_bulk"
path = "examples/h3_bulk.rs"
required-features = [
"http3",
"tls-client",
]
[[example]]
name = "hello"
path = "examples/hello.rs"
[[example]]
name = "interop_server"
path = "examples/interop_server.rs"
required-features = [
"http3",
"tls-extra",
]
[[example]]
name = "min_server"
path = "examples/min_server.rs"
[[example]]
name = "tls_probe_server"
path = "examples/tls_probe_server.rs"
[[test]]
name = "admission"
path = "tests/admission.rs"
[[test]]
name = "adoption_h1"
path = "tests/adoption_h1.rs"
[[test]]
name = "adoption_h2"
path = "tests/adoption_h2.rs"
[[test]]
name = "adoption_h3"
path = "tests/adoption_h3.rs"
[[test]]
name = "adoption_tls"
path = "tests/adoption_tls.rs"
[[test]]
name = "compression"
path = "tests/compression.rs"
[[test]]
name = "desync"
path = "tests/desync.rs"
[[test]]
name = "grpc"
path = "tests/grpc.rs"
[[test]]
name = "h2_live"
path = "tests/h2_live.rs"
[[test]]
name = "h2_websocket"
path = "tests/h2_websocket.rs"
[[test]]
name = "http1"
path = "tests/http1.rs"
[[test]]
name = "http2"
path = "tests/http2.rs"
[[test]]
name = "http3"
path = "tests/http3.rs"
[[test]]
name = "idle_memory"
path = "tests/idle_memory.rs"
[[test]]
name = "interop"
path = "tests/interop.rs"
[[test]]
name = "limits"
path = "tests/limits.rs"
[[test]]
name = "overload"
path = "tests/overload.rs"
[[test]]
name = "server_helpers"
path = "tests/server_helpers.rs"
[[test]]
name = "slowloris"
path = "tests/slowloris.rs"
[[test]]
name = "tls"
path = "tests/tls.rs"
[[test]]
name = "tls_hardening"
path = "tests/tls_hardening.rs"
[[test]]
name = "tls_large"
path = "tests/tls_large.rs"
[[test]]
name = "trailers"
path = "tests/trailers.rs"
[[test]]
name = "watchdog"
path = "tests/watchdog.rs"
required-features = ["watchdog"]
[[test]]
name = "ws_deflate"
path = "tests/ws_deflate.rs"
[dependencies.simoom-compress]
version = "0.1.0"
optional = true
[dependencies.simoom-h2]
version = "0.1.0"
optional = true
default-features = false
[dependencies.simoom-h3]
version = "0.1.0"
optional = true
[dependencies.simoom-http1]
version = "0.1.0"
default-features = false
[dependencies.simoom-quic]
version = "0.1.0"
optional = true
default-features = false
[dependencies.simoom-rt]
version = "0.1.0"
default-features = false
[dependencies.simoom-sys]
version = "0.1.0"
default-features = false
[dependencies.simoom-tls]
version = "0.1.0"
optional = true
default-features = false
[lints.rust]
missing_debug_implementations = "allow"
unsafe_op_in_unsafe_fn = "deny"