pub struct SequencedHttpClient { /* private fields */ }Available on crate feature
test-utils only.Expand description
An HttpClientExt implementation that records unary requests and returns
one scripted response per request.
This is useful for testing retry and recovery paths through real provider request/response conversion without live credentials.
Implementations§
Source§impl SequencedHttpClient
impl SequencedHttpClient
Sourcepub fn new(responses: impl IntoIterator<Item = MockHttpResponse>) -> Self
pub fn new(responses: impl IntoIterator<Item = MockHttpResponse>) -> Self
Create a client that returns the supplied responses in order.
Sourcepub fn requests(&self) -> Vec<CapturedHttpRequest>
pub fn requests(&self) -> Vec<CapturedHttpRequest>
Return the requests captured so far.
Sourcepub fn remaining_responses(&self) -> usize
pub fn remaining_responses(&self) -> usize
Return the number of scripted responses that have not been consumed.
Trait Implementations§
Source§impl Clone for SequencedHttpClient
impl Clone for SequencedHttpClient
Source§fn clone(&self) -> SequencedHttpClient
fn clone(&self) -> SequencedHttpClient
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for SequencedHttpClient
impl Debug for SequencedHttpClient
Source§impl Default for SequencedHttpClient
impl Default for SequencedHttpClient
Source§fn default() -> SequencedHttpClient
fn default() -> SequencedHttpClient
Returns the “default value” for a type. Read more
Source§impl HttpClientExt for SequencedHttpClient
impl HttpClientExt for SequencedHttpClient
Source§fn send<T, U>(
&self,
req: Request<T>,
) -> impl Future<Output = Result<Response<LazyBody<U>>>> + WasmCompatSend + 'static
fn send<T, U>( &self, req: Request<T>, ) -> impl Future<Output = Result<Response<LazyBody<U>>>> + WasmCompatSend + 'static
Send a HTTP request, get a response back (as bytes). Response must be able to be turned back into Bytes.
Source§fn send_multipart<U>(
&self,
req: Request<MultipartForm>,
) -> impl Future<Output = Result<Response<LazyBody<U>>>> + WasmCompatSend + 'static
fn send_multipart<U>( &self, req: Request<MultipartForm>, ) -> impl Future<Output = Result<Response<LazyBody<U>>>> + WasmCompatSend + 'static
Send a HTTP request with a multipart body, get a response back (as bytes). Response must be able to be turned back into Bytes (although usually for the response, you will probably want to specify Bytes anyway).
Source§fn send_streaming<T>(
&self,
_req: Request<T>,
) -> impl Future<Output = Result<StreamingResponse>> + WasmCompatSend
fn send_streaming<T>( &self, _req: Request<T>, ) -> impl Future<Output = Result<StreamingResponse>> + WasmCompatSend
Send a HTTP request, get a streamed response back (as a stream of
bytes::Bytes.)Auto Trait Implementations§
impl Freeze for SequencedHttpClient
impl RefUnwindSafe for SequencedHttpClient
impl Send for SequencedHttpClient
impl Sync for SequencedHttpClient
impl Unpin for SequencedHttpClient
impl UnsafeUnpin for SequencedHttpClient
impl UnwindSafe for SequencedHttpClient
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more