pub struct CompressionPlugin { /* private fields */ }Available on crate feature
plugins only.Expand description
HTTP response compression plugin for Tako applications.
CompressionPlugin provides automatic response compression based on client
Accept-Encoding headers and configurable compression algorithms. It supports
multiple compression formats, streaming compression, and intelligent content
type detection to optimize bandwidth usage and response times.
§Examples
use tako::plugins::compression::{CompressionPlugin, CompressionBuilder};
use tako::plugins::TakoPlugin;
use tako::router::Router;
// Use default settings
let compression = CompressionPlugin::default();
let mut router = Router::new();
router.plugin(compression);
// Custom configuration
let custom = CompressionBuilder::new()
.enable_gzip(true)
.enable_brotli(true)
.min_size(2048)
.build();
router.plugin(custom);Trait Implementations§
Source§impl Clone for CompressionPlugin
impl Clone for CompressionPlugin
Source§fn clone(&self) -> CompressionPlugin
fn clone(&self) -> CompressionPlugin
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Default for CompressionPlugin
impl Default for CompressionPlugin
Source§fn default() -> CompressionPlugin
fn default() -> CompressionPlugin
Creates a compression plugin with default configuration settings.
Auto Trait Implementations§
impl !RefUnwindSafe for CompressionPlugin
impl !UnwindSafe for CompressionPlugin
impl Freeze for CompressionPlugin
impl Send for CompressionPlugin
impl Sync for CompressionPlugin
impl Unpin for CompressionPlugin
impl UnsafeUnpin for CompressionPlugin
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more