[package]
edition = "2021"
rust-version = "1.99"
name = "rws-server"
version = "18.28.0"
authors = ["Bohdan Tsap <bohdan.tsap@tutanota.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "The server layer of rust-web-server (internal: use the rust-web-server crate)."
homepage = "https://rws8.tech/"
readme = false
license = "MIT"
repository = "https://github.com/bohdaq/rust-web-server"
[package.metadata.docs.rs]
features = [
"http1",
"http2",
"http3",
"http-client",
"pkcs11",
"serde",
"auth",
"auth-asymmetric",
"macros",
"model-sqlite",
"model-postgres",
"model-mysql",
"crypto",
"csrf",
"sso",
"sso-server",
"sso-saml",
"storage-local",
"storage-s3",
"storage-azure",
"storage-gcs",
"openapi",
"rewrite-regex",
"secrets",
"gateway-api",
"acme",
]
rustdoc-args = [
"--cfg",
"docsrs",
]
targets = ["x86_64-unknown-linux-gnu"]
[features]
acme = [
"http2",
"dep:rcgen",
"dep:webpki-roots",
"dep:libc",
"dep:aws-lc-rs",
]
auth = [
"dep:hmac",
"dep:sha2",
]
auth-asymmetric = [
"auth",
"dep:p256",
"dep:rand_core",
]
crypto = [
"dep:argon2",
"dep:rand_core",
"dep:hmac",
"dep:sha2",
"dep:aes-gcm",
]
csrf = ["dep:rand_core"]
default = []
fips = [
"http2",
"rustls/fips",
"rws-http/fips",
]
gateway-api = [
"http2",
"serde",
]
http-client = [
"dep:rustls",
"dep:webpki-roots",
]
http1 = [
"dep:ctrlc",
"dep:libc",
]
http2 = [
"dep:rcgen",
"dep:aws-lc-rs",
"dep:h2",
"dep:rustls",
"dep:tokio-rustls",
"dep:tokio",
"dep:bytes",
"dep:http",
"dep:webpki-roots",
"dep:libc",
]
http3 = [
"http2",
"dep:quinn",
"dep:h3",
"dep:h3-quinn",
]
macros = ["dep:rws-macros"]
model-mysql = [
"dep:sqlx",
"sqlx/mysql",
"sqlx/runtime-tokio-rustls",
"http2",
]
model-postgres = [
"dep:sqlx",
"sqlx/postgres",
"sqlx/runtime-tokio-rustls",
"http2",
]
model-sqlite = [
"dep:sqlx",
"sqlx/sqlite",
"sqlx/runtime-tokio",
"http2",
]
openapi = []
pkcs11 = [
"http2",
"dep:cryptoki",
"dep:aws-lc-rs",
]
rewrite-regex = ["dep:regex"]
secrets = [
"dep:hmac",
"dep:sha2",
"http-client",
]
serde = [
"dep:serde",
"dep:serde_json",
"rws-http/serde",
]
sso = [
"dep:p256",
"dep:sha2",
"dep:rand_core",
"dep:serde",
"dep:serde_json",
"http-client",
]
sso-saml = ["sso"]
sso-server = [
"sso",
"auth",
]
storage-azure = [
"dep:hmac",
"dep:sha2",
"http-client",
]
storage-gcs = [
"http-client",
"dep:aws-lc-rs",
]
storage-local = []
storage-s3 = [
"dep:hmac",
"dep:sha2",
"http-client",
]
test-support = []
[lib]
name = "rws_server"
path = "src/lib.rs"
[dependencies.aes-gcm]
version = "0.10"
optional = true
[dependencies.argon2]
version = "0.5"
features = ["password-hash"]
optional = true
[dependencies.bytes]
version = "1"
optional = true
[dependencies.cryptoki]
version = "0.12"
optional = true
[dependencies.ctrlc]
version = "3"
optional = true
[dependencies.file-ext]
version = "12.0.0"
[dependencies.h2]
version = "0.4"
optional = true
[dependencies.h3]
version = "0.0.8"
optional = true
[dependencies.h3-quinn]
version = "0.0.10"
optional = true
[dependencies.hmac]
version = "0.12"
optional = true
[dependencies.http]
version = "1"
optional = true
[dependencies.libc]
version = "0.2"
optional = true
[dependencies.memchr]
version = "2.7"
[dependencies.p256]
version = "0.14"
features = ["ecdsa"]
optional = true
[dependencies.quinn]
version = "0.11"
features = [
"runtime-tokio",
"rustls-aws-lc-rs",
"bloom",
]
optional = true
default-features = false
[dependencies.rand_core]
version = "0.6"
features = ["getrandom"]
optional = true
[dependencies.rcgen]
version = "0.14"
features = [
"pem",
"aws_lc_rs",
]
optional = true
default-features = false
[dependencies.regex]
version = "1"
optional = true
[dependencies.rws-base]
version = "=18.28.0"
[dependencies.rws-http]
version = "=18.28.0"
[dependencies.rws-macros]
version = "17.29"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1"
optional = true
[dependencies.sha2]
version = "0.10"
features = ["oid"]
optional = true
[dependencies.sqlx]
version = "0.8"
optional = true
default-features = false
[dependencies.tokio]
version = "1"
features = [
"net",
"rt-multi-thread",
"macros",
"io-util",
"signal",
"time",
]
optional = true
[dependencies.tokio-rustls]
version = "0.26"
optional = true
[dependencies.url-build-parse]
version = "12.1.0"
[dependencies.url-search-params]
version = "12.0.0"
[dev-dependencies.tokio]
version = "1"
features = [
"test-util",
"macros",
"rt",
]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.aws-lc-rs]
version = "1"
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.rustls]
version = "0.23.46"
features = [
"aws-lc-rs",
"tls12",
"logging",
"std",
"prefer-post-quantum",
]
optional = true
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.webpki-roots]
version = "1.0.11"
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.aws-lc-rs]
version = "1"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.rcgen]
version = "0.14"
features = [
"pem",
"aws_lc_rs",
]
default-features = false
[target.'cfg(target_arch = "wasm32")'.dependencies.wasip2]
version = "2.0"
[lints.rust.unexpected_cfgs]
level = "deny"
priority = 0
check-cfg = [
"cfg(fuzzing)",
"cfg(docsrs)",
]