Cargo Features

[dependencies]
serwus = { version = "0.2.0", default-features = false, features = ["auth", "actix_validation", "rs256_jwks", "pgsql", "multidb", "mysql", "swagger", "rabbit", "prometheus", "tracing", "metrics", "actix-multipart"] }
default = auth, pgsql, tracing

These default features are set whenever serwus is added without default-features = false somewhere in the dependency tree.

auth default = jsonwebtoken, quick-error, rand, rust-argon2

Affects auth::jwt, utils::hash_password

actix_validation

Affects validation::render_single_validation_error

rs256_jwks = alcoholic_jwt, awc

Affects auth::rs256_jwks

pgsql default = diesel-derive-newtype, r2d2

Enables postgres of diesel

Affects containers::as_map, db_pool::DbConnection, db_pool::Db, serwus::db_pool, serwus::pagination, app_data::DefaultAppData.db_pool, app_data::default_app_data

multidb = weighted-rs

Affects async_queries::async_read_query, async_queries::async_write_query, async_queries::async_read_transaction, async_queries::async_write_transaction, db_pool::multi

mysql = diesel-derive-newtype, r2d2

Enables mysql of diesel

Affects db_pool::DbConnection, db_pool::Db, serwus::db_pool, serwus::pagination, app_data::DefaultAppData.db_pool, app_data::default_app_data

swagger = paperclip
rabbit = amiquip, crossbeam-channel

Affects utils::rabbit

prometheus

Affects server::prometheus, stats::StatsPresenter.get_prometheus, stats::AppDataWrapper

tracing default = tracing-actix-web, tracing-bunyan-formatter, tracing-subscriber

Enables tracing

metrics = futures-util, lazy_static, metrics-exporter-prometheus

Enables metrics ^0.22.3

Affects server::metrics

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

actix-multipart implicit feature

Enables actix-multipart ^0.6

actix-multipart:

Multipart form support for Actix Web

Affects utils::read_bytes

amiquip rabbit?
awc rs256_jwks?
alcoholic_jwt rs256_jwks?
crossbeam-channel rabbit?
diesel mysql? pgsql
diesel-derive-newtype mysql? pgsql
jsonwebtoken auth
paperclip swagger?

Enables paperclip ^0.8

quick-error auth
r2d2 mysql? pgsql
rand auth
rust-argon2 auth
weighted-rs multidb?
tracing-actix-web tracing
tracing-subscriber tracing
tracing-bunyan-formatter tracing
metrics-exporter-prometheus metrics?

Enables metrics-exporter-prometheus ^0.14.0

lazy_static metrics?
futures-util metrics?