Struct tower_http::compression::predicate::DefaultPredicate
source · [−]pub struct DefaultPredicate(_);This is supported on crate features
compression-br or compression-deflate or compression-gzip only.Expand description
The default predicate used by Compression and CompressionLayer.
This will compress responses unless:
- They’re gRPC, which has its own protocol specific compression scheme.
- It’s an image as determined by the
content-typestarting withimage/. - The response is less than 32 bytes.
Configuring the defaults
DefaultPredicate doesn’t support any configuration. Instead you can build your own predicate
by combining types in this module:
use tower_http::compression::predicate::{SizeAbove, NotForContentType, Predicate};
// slightly large min size than the default 32
let predicate = SizeAbove::new(256)
// still don't compress gRPC
.and(NotForContentType::GRPC)
// still don't compress images
.and(NotForContentType::IMAGES)
// also don't compress JSON
.and(NotForContentType::const_new("application/json"));Implementations
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for DefaultPredicate
impl Send for DefaultPredicate
impl Sync for DefaultPredicate
impl Unpin for DefaultPredicate
impl UnwindSafe for DefaultPredicate
Blanket Implementations
Mutably borrows from an owned value. Read more
This is supported on crate feature
follow-redirect only.Create a new Policy that returns Action::Follow only if self and other return
Action::Follow. Read more
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more