Skip to main content

Module response

Module response 

Source
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;

Modules§

body
Response body matching predicates.
header
Response header matching predicates.
status
HTTP status code predicates for cache storage.