Cargo Features
[dependencies]
product-os-server = { version = "0.0.39", default-features = false, features = ["core", "dual_server", "executor_tokio", "tls", "cors", "cspolicy", "csrf", "ws", "custom", "controller", "postgres_store", "sqlite_store", "redis_key_value_store", "memory_key_value_store", "file_key_value_store", "redis_queue_store", "memory_queue_store", "compression", "middleware", "support_feature_service", "extract_headers", "async-trait"] }
- default = core
-
The
core
feature is set by default wheneverproduct-os-server
is added without
somewhere in the dependency tree.default-features = false - core default = axum, axum-macros, axum-server, hyper, parking_lot, tracing, tracing-subscriber, url
- dual_server = axum-server-dual-protocol, tls, tokio
-
Affects
dual_server::create_dual_service_with_axum
… - executor_tokio
-
Enables exec_tokio of product-os-async-executor
Affects
https_server::create_https_service_with_axum
… - tls dual_server? = hyper-rustls, rustls
-
Enables tls-rustls of axum-server ^0.6.0, http2 of hyper-rustls
Affects
https_server::create_https_service_with_axum
… - cors
-
Enables cors of product-os-router and tower-http ^0.5.2
- cspolicy = csp
- csrf = axum_csrf
- ws
-
Enables ws of product-os-router
- custom
- controller = product-os-capabilities, product-os-command-control
-
Enables typed-header of axum-extra, relational_store of product-os-store
Affects
command_handler::command_responder
,feature_handler::feature_responder
… - postgres_store
-
Enables postgres_store of product-os-command-control, postgres_relational_store of product-os-store
- sqlite_store
-
Enables sqlite_store of product-os-command-control, sqlite_relational_store of product-os-store
- redis_key_value_store
-
Enables redis_key_value_store of product-os-command-control and product-os-store
- memory_key_value_store
-
Enables memory_key_value_store of product-os-command-control and product-os-store
- file_key_value_store
-
Enables file_key_value_store of product-os-command-control and product-os-store
- redis_queue_store
-
Enables redis_queue_store of product-os-store
- memory_queue_store
-
Enables memory_queue_store of product-os-store
- compression
-
Enables compression-full and decompression-full of tower-http ^0.5.2
- middleware
-
Enables middleware of product-os-router
- support_feature_service
-
Enables feature_service of product-os-capabilities
- extract_headers
-
Enables typed-header of axum-extra
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.
- async-trait implicit feature
-
Enables async-trait
Core dependencies
- parking_lot core
- tokio dual_server?
-
Enables tokio
For async capabilities
- hyper core
-
Enables hyper
For web server capability
- hyper-rustls tls?
- axum core
-
Enables axum
Web framework using hyper and tower
- axum-macros core
- url core
- rustls tls?
-
Enables rustls ^0.21.11
TLS support
TLS library for Rust - csp cspolicy?
-
Enables csp
Optional packages supported by features enabled
- axum_csrf csrf?
- axum-server core tls?
-
Enables axum-server ^0.6.0
- axum-extra controller? extract_headers?
- tower-http compression? cors?
-
Enables tower-http ^0.5.2
- axum-server-dual-protocol dual_server?
-
Enables axum-server-dual-protocol ^0.6.0
- tracing core
-
Enables tracing
Logging support
- tracing-subscriber core
- product-os-command-control controller? file_key_value_store? memory_key_value_store? postgres_store? redis_key_value_store? sqlite_store?
- product-os-store controller? file_key_value_store? memory_key_value_store? memory_queue_store? postgres_store? redis_key_value_store? redis_queue_store? sqlite_store?
- product-os-capabilities controller? support_feature_service?