parlov-core
Shared types for HTTP oracle detection. Zero I/O, zero async — just data structures.
types
use ;
ResponseSurface — one captured HTTP interaction:
ProbeDefinition — one HTTP request to execute:
ProbeSet — paired surfaces for differential analysis:
OracleResult — the analysis output:
label, leaks, rfc_basis, baseline_summary, and probe_summary are omitted from JSON when None. header_diffs is omitted when empty. All use skip_serializing_if and default — backward-compatible when deserializing pre-0.3.0 data.
DiffedHeader — one header that differed between baseline and probe:
ResponseSummary — per-side response summary:
Intentionally minimal — carries only status now. Will grow when body diffing lands.
All types derive Serialize and Deserialize with custom serde helpers for StatusCode, Method, and HeaderMap (the http crate types lack native serde support).
use it
Construct a probe set from captured HTTP interactions:
use ;
use Bytes;
use ;
let baseline = ResponseSurface ;
let probe = ResponseSurface ;
let probe_set = ProbeSet ;
Build a request definition for the probe engine:
use ProbeDefinition;
use ;
let def = ProbeDefinition ;
errors
use Error;
Three variants via thiserror: Http(String), Analysis(String), Serialization(serde_json::Error).
license
MIT OR Apache-2.0