pub struct CompressionBuilder(/* private fields */);plugins only.Expand description
Builder for configuring HTTP response compression settings.
CompressionBuilder provides a fluent API for constructing compression plugin
configurations. It allows selective enabling/disabling of compression algorithms,
setting compression levels, and configuring behavior options like streaming and
minimum response size thresholds.
§Examples
use tako::plugins::compression::CompressionBuilder;
// Basic setup with default settings
let basic = CompressionBuilder::new().build();
// Custom configuration
let custom = CompressionBuilder::new()
.enable_gzip(true)
.gzip_level(8)
.enable_brotli(true)
.brotli_level(6)
.enable_deflate(false)
.min_size(2048)
.enable_stream(true)
.build();Implementations§
Source§impl CompressionBuilder
impl CompressionBuilder
Sourcepub fn enable_gzip(self, yes: bool) -> Self
pub fn enable_gzip(self, yes: bool) -> Self
Enables or disables Gzip compression.
Sourcepub fn enable_brotli(self, yes: bool) -> Self
pub fn enable_brotli(self, yes: bool) -> Self
Enables or disables Brotli compression.
Sourcepub fn enable_deflate(self, yes: bool) -> Self
pub fn enable_deflate(self, yes: bool) -> Self
Enables or disables DEFLATE compression.
Sourcepub fn enable_zstd(self, yes: bool) -> Self
Available on crate feature zstd only.
pub fn enable_zstd(self, yes: bool) -> Self
zstd only.Enables or disables Zstandard compression (requires zstd feature).
Sourcepub fn enable_stream(self, stream: bool) -> Self
pub fn enable_stream(self, stream: bool) -> Self
Enables or disables streaming compression mode.
Sourcepub fn min_size(self, bytes: usize) -> Self
pub fn min_size(self, bytes: usize) -> Self
Sets the minimum response size threshold for compression.
Sourcepub fn gzip_level(self, lvl: u32) -> Self
pub fn gzip_level(self, lvl: u32) -> Self
Sets the Gzip compression level (1-9).
Sourcepub fn brotli_level(self, lvl: u32) -> Self
pub fn brotli_level(self, lvl: u32) -> Self
Sets the Brotli compression level (1-11).
Sourcepub fn deflate_level(self, lvl: u32) -> Self
pub fn deflate_level(self, lvl: u32) -> Self
Sets the DEFLATE compression level (1-9).
Sourcepub fn zstd_level(self, lvl: i32) -> Self
Available on crate feature zstd only.
pub fn zstd_level(self, lvl: i32) -> Self
zstd only.Sets the Zstandard compression level (1-22, requires zstd feature).
Sourcepub fn build(self) -> CompressionPlugin
pub fn build(self) -> CompressionPlugin
Builds the compression plugin with the configured settings.