pub struct Client { /* private fields */ }Expand description
Tanu’s HTTP client that provides enhanced testing capabilities.
This client is a wrapper around reqwest::Client that offers the same API
while adding automatic request/response logging, better error handling,
and integration with tanu’s test reporting system.
§Features
- Compatible API: Drop-in replacement for
reqwest::Client - Automatic Logging: All requests and responses are captured for debugging
- Enhanced Errors: Detailed error context for better test debugging
- Cookie Support: Optional cookie handling with the
cookiesfeature
§Examples
ⓘ
use tanu::{check, http::Client};
#[tanu::test]
async fn test_api() -> eyre::Result<()> {
let client = Client::new();
let response = client
.get("https://api.example.com/health")
.send()
.await?;
check!(response.status().is_success());
Ok(())
}Implementations§
Source§impl Client
impl Client
pub fn get(&self, url: impl IntoUrl) -> RequestBuilder
pub fn post(&self, url: impl IntoUrl) -> RequestBuilder
pub fn put(&self, url: impl IntoUrl) -> RequestBuilder
pub fn patch(&self, url: impl IntoUrl) -> RequestBuilder
pub fn delete(&self, url: impl IntoUrl) -> RequestBuilder
pub fn head(&self, url: impl IntoUrl) -> RequestBuilder
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Client
impl !RefUnwindSafe for Client
impl Send for Client
impl Sync for Client
impl Unpin for Client
impl !UnwindSafe for Client
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
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> 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