Expand description
Response predicates for cache storage decisions.
These predicates evaluate HTTP responses to determine if they should be stored in the cache.
§Examples
Cache only successful responses:
use hitbox_http::predicates::response::{StatusCode, StatusClass};
// Match 2xx status codes
let predicate = StatusCode::new(http::StatusCode::OK);
// Or match the entire success class
let predicate = StatusCode::new_class(Neutral::new(), StatusClass::Success);Cache responses with non-empty JSON arrays:
use hitbox_http::predicates::response::{Body, Operation, JqExpression, JqOperation};
let predicate = Body::new(Operation::Jq {
filter: JqExpression::compile(".items | length > 0").unwrap(),
operation: JqOperation::Eq(serde_json::Value::Bool(true)),
});Re-exports§
pub use body::Body;pub use body::BodyPredicate;pub use body::JqFilter;pub use header::Header;pub use header::HeaderPredicate;pub use status::StatusClass;pub use status::StatusCode;pub use status::StatusCodePredicate;pub use crate::predicates::body::JqExpression;pub use crate::predicates::body::JqOperation;pub use crate::predicates::body::Operation;pub use crate::predicates::body::PlainOperation;