Crate rocket_contrib
source ·Expand description
This crate contains officially sanctioned contributor libraries that provide functionality commonly used by Rocket applications.
These libraries are always kept in-sync with the core Rocket library. They provide common, but not fundamental, abstractions to be used by Rocket applications.
Each module in this library is held behind a feature flag, with the most common modules exposed by default. The present feature list is below, with an asterisk next to the features that are enabled by default:
- json* - JSON (de)serialization
- serve* - Static File Serving
- msgpack - MessagePack (de)serialization
- handlebars_templates - Handlebars Templating
- tera_templates - Tera Templating
- uuid - UUID (de)serialization
- ${database}_pool - Database Configuration and Pooling
- helmet - Fairing for Security and Privacy Headers
The recommend way to include features from this crate via Cargo in your
project is by adding a [dependencies.rocket_contrib]
section to your
Cargo.toml
file, setting default-features
to false, and specifying
features manually. For example, to use the JSON module, you would add:
[dependencies.rocket_contrib]
version = "0.4.11"
default-features = false
features = ["json"]
This crate is expected to grow with time, bringing in outside crates to be officially supported by Rocket.
Modules§
- Traits, utilities, and a macro for easy database connection pooling.
- Security and privacy headers for all outgoing responses.
- Automatic JSON (de)serialization support.
- Automatic MessagePack (de)serialization support.
- Custom handler and options for static file serving.
- Dynamic template engine support for handlebars and tera.
- UUID parameter and form value parsing support.
Macros§
- A macro to create ad-hoc JSON serializable values using JSON syntax.