pub struct ChioHttpRequest {Show 16 fields
pub request_id: String,
pub method: HttpMethod,
pub route_pattern: String,
pub path: String,
pub query: HashMap<String, String>,
pub headers: HashMap<String, String>,
pub caller: CallerIdentity,
pub body_hash: Option<String>,
pub body_length: u64,
pub session_id: Option<String>,
pub capability_id: Option<String>,
pub tool_server: Option<String>,
pub tool_name: Option<String>,
pub arguments: Option<Value>,
pub model_metadata: Option<ModelMetadata>,
pub timestamp: u64,
}Expand description
A protocol-agnostic HTTP request that Chio evaluates. This is the shared input type for all HTTP substrate adapters – reverse proxy, framework middleware, and sidecar alike.
Fields§
§request_id: StringUnique request identifier (UUIDv7 recommended).
method: HttpMethodHTTP method.
route_pattern: StringThe matched route pattern (e.g., “/pets/{petId}”), not the raw path. Used for policy matching.
path: StringThe actual request path (e.g., “/pets/42”).
query: HashMap<String, String>Query parameters.
headers: HashMap<String, String>Selected request headers relevant to policy evaluation. Substrate adapters extract only the headers needed for guards (e.g., Content-Type, Content-Length) – never raw auth headers.
caller: CallerIdentityThe extracted caller identity.
body_hash: Option<String>SHA-256 hash of the request body (for content binding in receipts). None for bodyless requests (GET, HEAD, OPTIONS).
body_length: u64Content-Length of the request body in bytes.
session_id: Option<String>Session ID this request belongs to.
capability_id: Option<String>Capability token ID presented with this request, if any.
tool_server: Option<String>Optional sidecar tool server identity for synthetic tool-call evaluations.
tool_name: Option<String>Optional sidecar tool name for synthetic tool-call evaluations.
arguments: Option<Value>Optional structured tool-call arguments for synthetic sidecar evaluations.
model_metadata: Option<ModelMetadata>Optional model identity and safety tier for model-constrained grants.
timestamp: u64Unix timestamp (seconds) when the request was received.
Implementations§
Source§impl ChioHttpRequest
impl ChioHttpRequest
Sourcepub fn new(
request_id: String,
method: HttpMethod,
route_pattern: String,
path: String,
caller: CallerIdentity,
) -> Self
pub fn new( request_id: String, method: HttpMethod, route_pattern: String, path: String, caller: CallerIdentity, ) -> Self
Create a minimal request for testing or simple evaluations.
Sourcepub fn content_hash(&self) -> Result<String>
pub fn content_hash(&self) -> Result<String>
Compute a content hash binding this request to a receipt. Hashes the canonical JSON of the route pattern, method, body hash, and query parameters.
Trait Implementations§
Source§impl Clone for ChioHttpRequest
impl Clone for ChioHttpRequest
Source§fn clone(&self) -> ChioHttpRequest
fn clone(&self) -> ChioHttpRequest
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more