[package] name = "serwus" version = "0.2.0" authors = ["MichaƂ Pokrywka", "Vlad Ovinnikov"] description = "Helpers for building actix-web/diesel based services" readme = "README.md" keywords = ["http", "web", "actix", "actix-web", "diesel"] homepage = "https://github.com/sfisol/serwus" repository = "https://github.com/sfisol/serwus" documentation = "https://docs.rs/serwus/" categories = ["network-programming", "asynchronous", "web-programming::http-server", "web-programming::websocket"] license = "MIT OR Apache-2.0" edition = "2021" [workspace] members = [".", "serwus-derive"] [features] auth = ["jsonwebtoken", "quick-error", "rand", "rust-argon2"] actix_validation = [] rs256_jwks = ["alcoholic_jwt", "awc"] default = ["pgsql", "auth", "tracing"] pgsql = ["diesel/postgres", "diesel-derive-newtype", "r2d2"] multidb = ["weighted-rs"] mysql = ["diesel/mysql", "diesel-derive-newtype", "r2d2"] swagger = ["paperclip"] rabbit = ["amiquip", "crossbeam-channel"] prometheus = [] tracing = ["dep:tracing", "tracing-actix-web", "tracing-subscriber", "tracing-bunyan-formatter"] metrics = ["dep:metrics", "metrics-exporter-prometheus", "lazy_static", "futures-util"] [dependencies] actix = "0.13" actix-cors = "0.7" actix-http = "3" actix-service = "2" actix-web = "4" actix-multipart = { version = "0.6", features = ["derive"], optional = true } amiquip = { version = "0.4", optional = true } awc = { version = "3", features = ["rustls"], optional = true } alcoholic_jwt = { version = "4091.0", optional = true } bytes = "1" chrono = { version = "0.4", features = ["serde"] } crossbeam-channel = { version = "0.5", optional = true } derive_more = "0.99" diesel = { version = "2.1", features = ["chrono", "r2d2"], optional = true } diesel-derive-newtype = { version = "2.1", optional = true } dotenv = "0.15" futures = "0.3" jsonwebtoken = { version = "9", optional = true } log = "0.4" serwus-derive = { path = "serwus-derive", version = "0.2" } num_cpus = "1" paperclip = { version = "0.8", features = ["actix4", "rust_decimal", "chrono", "swagger-ui"], optional = true } quick-error = { version = "2", optional = true } r2d2 = { version = "0.8", optional = true } rand = { version = "0.8", optional = true } rust-argon2 = { version = "2", optional = true } serde = { version = "1", features = ["derive"] } serde_json = { version = "1" } validator = "0.18" validator_derive = "0.18" weighted-rs = { version = "0.1", optional = true } colored = "2.1" tracing-actix-web = { version = "0.7.10", optional = true } tracing = { version = "0.1.40", features = ["log"], optional = true } tracing-subscriber = { version = "0.3.18", features = ["env-filter", "tracing-log"], optional = true } tracing-bunyan-formatter = { version = "0.3", optional = true } metrics = { version = "0.22.3", optional = true } metrics-exporter-prometheus = { version = "0.14.0", optional = true } lazy_static = { version = "1.4.0", optional = true } futures-util = { version = "0.3.30", optional = true }