Skip to main content

CapturedRequest

Struct CapturedRequest 

Source
#[non_exhaustive]
pub struct CapturedRequest { pub method: String, pub path: String, pub body: String, pub outcome: RequestOutcome, pub matched_scenario: Option<String>, pub capture_id: u64, pub status_code: u16, pub timestamp: Instant, }
Expand description

A captured HTTP request for test assertions.

Available via MockServer::get_requests() after requests have been handled. The struct is #[non_exhaustive] so future versions may add new fields (e.g. captured response status) without a semver break — prefer the builder-free accessors over exhaustive destructuring.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§method: String

HTTP method (always POST for LLM endpoints, GET for /code/).

§path: String

Resolved request path — for Gemini, the real /v1beta/models/{model}:{action} the client used, not the router wildcard pattern.

§body: String

Raw request body as received on the wire. Present for Matched, NoFixtureMatch, and BadRequest outcomes. Empty for AuthRejected (the auth middleware does not buffer the body to stay off the hot path) and CodeEndpoint (GET has no body).

§outcome: RequestOutcome

What the server decided about this request. See RequestOutcome.

§matched_scenario: Option<String>

Name of the matched fixture’s scenario, if any. Always None for non-Matched outcomes.

§capture_id: u64

Monotonic capture ID for consistent ordering across the /ui/requests snapshot and the live SSE feed.

§status_code: u16

HTTP status code the server returned (or will return) for this request. Determined at capture time from the matched fixture: error.status for error fixtures, 400 for streaming+refusal, 200 for normal responses, 404 for no-match, etc.

§timestamp: Instant

Timestamp when the request was received.

Implementations§

Source§

impl CapturedRequest

Source

pub fn was_matched(&self) -> bool

true when a fixture was selected for this request — the server matched and dispatched it, regardless of the resulting HTTP status. Use this for the common test assertion “my client retry path actually hit a matched fixture after the 429”. See RequestOutcome::Matched for the full list of cases that count as matched.

Trait Implementations§

Source§

impl Clone for CapturedRequest

Source§

fn clone(&self) -> CapturedRequest

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for CapturedRequest

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FromRef<T> for T
where T: Clone,

Source§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<A, B, T> HttpServerConnExec<A, B> for T
where B: Body,