cc_utils/compression.rs
1//! Macros for compressing data sent by the `salvo` server.
2
3/// Brotli compression salvo's hoop.
4///
5/// Usage:
6///
7/// ```rust
8/// use salvo::Router;
9/// use cc_utils::brotli;
10///
11/// let router = Router::with_hoop(brotli!()).path("new-compressed-json").get(hello_compressed_json);
12/// ```
13#[cfg(feature = "salvo")]
14#[macro_export]
15macro_rules! brotli { () => {
16 salvo::prelude::Compression::new()
17 .disable_all()
18 .enable_brotli(salvo::prelude::CompressionLevel::Minsize)
19 .content_types(&[salvo::http::mime::APPLICATION_JSON])
20 .force_priority(true)
21 .min_length(10)
22 };
23}