[package]
edition = "2024"
name = "serwus"
version = "0.2.3"
authors = [
"MichaĆ Pokrywka",
"Vlad Ovinnikov",
]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Helpers for building actix-web/diesel based services"
homepage = "https://github.com/sfisol/serwus"
documentation = "https://docs.rs/serwus/"
readme = "README.md"
keywords = [
"http",
"web",
"actix",
"actix-web",
"diesel",
]
categories = [
"network-programming",
"asynchronous",
"web-programming::http-server",
"web-programming::websocket",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/sfisol/serwus"
[features]
actix_validation = []
auth = [
"jsonwebtoken",
"thiserror",
"rand",
"rust-argon2",
]
default = [
"pgsql",
"auth",
"tracing",
]
metrics = [
"dep:metrics",
"metrics-exporter-prometheus",
"lazy_static",
"futures-util",
]
multidb = ["weighted-rs"]
mysql = [
"diesel/mysql",
"diesel-derive-newtype",
"r2d2",
]
pgsql = [
"diesel/postgres",
"diesel-derive-newtype",
"r2d2",
]
prometheus = []
rabbit = [
"amiquip",
"crossbeam-channel",
]
rs256_jwks = [
"alcoholic_jwt",
"awc",
]
swagger = ["paperclip"]
tracing = [
"dep:tracing",
"tracing-actix-web",
"tracing-subscriber",
"tracing-bunyan-formatter",
]
[lib]
name = "serwus"
path = "src/lib.rs"
[dependencies.actix]
version = "0.13"
[dependencies.actix-cors]
version = "0.7"
[dependencies.actix-http]
version = "3"
[dependencies.actix-multipart]
version = "0.7"
features = ["derive"]
optional = true
[dependencies.actix-service]
version = "2"
[dependencies.actix-web]
version = "4"
[dependencies.alcoholic_jwt]
version = "4091.0"
optional = true
[dependencies.amiquip]
version = "0.4"
optional = true
[dependencies.awc]
version = "3"
features = ["rustls"]
optional = true
[dependencies.bytes]
version = "1"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.colored]
version = "3.1"
[dependencies.crossbeam-channel]
version = "0.5"
optional = true
[dependencies.derive_more]
version = "2.1"
features = [
"as_ref",
"deref",
"display",
"into",
]
[dependencies.diesel]
version = "2.3"
features = [
"chrono",
"r2d2",
]
optional = true
[dependencies.diesel-derive-newtype]
version = "2.1"
optional = true
[dependencies.dotenv]
version = "0.15"
[dependencies.futures]
version = "0.3"
[dependencies.futures-util]
version = "0.3"
optional = true
[dependencies.jsonwebtoken]
version = "10"
features = ["rust_crypto"]
optional = true
[dependencies.lazy_static]
version = "1.5"
optional = true
[dependencies.log]
version = "0.4"
[dependencies.metrics]
version = "0.24"
optional = true
[dependencies.metrics-exporter-prometheus]
version = "0.18"
optional = true
[dependencies.num_cpus]
version = "1"
[dependencies.paperclip]
version = "0.9"
features = [
"actix4",
"rust_decimal",
"chrono",
"swagger-ui",
]
optional = true
[dependencies.r2d2]
version = "0.8"
optional = true
[dependencies.rand]
version = "0.9"
optional = true
[dependencies.rust-argon2]
version = "3"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.serwus-derive]
version = "0.2"
[dependencies.thiserror]
version = "2"
optional = true
[dependencies.tracing]
version = "0.1"
features = ["log"]
optional = true
[dependencies.tracing-actix-web]
version = "0.7"
optional = true
[dependencies.tracing-bunyan-formatter]
version = "0.3"
optional = true
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"tracing-log",
]
optional = true
[dependencies.validator]
version = "0.20"
[dependencies.validator_derive]
version = "0.20"
[dependencies.weighted-rs]
version = "0.1"
optional = true