pub struct UreqHttpClient { /* private fields */ }Available on crate feature
ureq-client only.Expand description
HTTP client implementation using ureq for synchronous HTTP requests.
Since ureq is blocking, all requests are wrapped in tokio::task::spawn_blocking.
Implementations§
Source§impl UreqHttpClient
impl UreqHttpClient
pub fn new() -> UreqHttpClient
Sourcepub fn with_agent(agent: Agent) -> UreqHttpClient
pub fn with_agent(agent: Agent) -> UreqHttpClient
Create a client with a pre-configured ureq::Agent.
This lets you configure proxy support, custom TLS, timeouts, or any other agent-level settings externally.
Sourcepub fn with_max_body_bytes(self, max_body_bytes: u64) -> UreqHttpClient
pub fn with_max_body_bytes(self, max_body_bytes: u64) -> UreqHttpClient
Override the per-response cap for UreqHttpClient::execute and
UreqHttpClient::execute_streaming. Set to u64::MAX to disable; a
hostile server can then exhaust memory.
Trait Implementations§
Source§impl Clone for UreqHttpClient
impl Clone for UreqHttpClient
Source§fn clone(&self) -> UreqHttpClient
fn clone(&self) -> UreqHttpClient
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 UreqHttpClient
impl Debug for UreqHttpClient
Source§impl Default for UreqHttpClient
impl Default for UreqHttpClient
Source§fn default() -> UreqHttpClient
fn default() -> UreqHttpClient
Returns the “default value” for a type. Read more
Source§impl HttpClient for UreqHttpClient
impl HttpClient for UreqHttpClient
Source§fn execute<'life0, 'async_trait>(
&'life0 self,
request: HttpRequest,
) -> Pin<Box<dyn Future<Output = Result<HttpResponse, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
UreqHttpClient: 'async_trait,
fn execute<'life0, 'async_trait>(
&'life0 self,
request: HttpRequest,
) -> Pin<Box<dyn Future<Output = Result<HttpResponse, Error>> + Send + 'async_trait>>where
'life0: 'async_trait,
UreqHttpClient: 'async_trait,
Executes a given HTTP request and returns the response, non-2xx included.
Source§fn supports_streaming(&self) -> bool
fn supports_streaming(&self) -> bool
Whether this client supports synchronous streaming downloads.
Source§fn execute_streaming(
&self,
request: HttpRequest,
) -> Result<StreamingHttpResponse, Error>
fn execute_streaming( &self, request: HttpRequest, ) -> Result<StreamingHttpResponse, Error>
Synchronous streaming variant — returns a reader over the response body.
Must be called from a blocking context.
Source§fn supports_upload_streaming(&self) -> bool
fn supports_upload_streaming(&self) -> bool
Whether this client can stream a request body from a reader (upload).
Source§fn execute_upload(
&self,
request: HttpRequest,
body: Box<dyn Read + Send>,
content_length: u64,
) -> Result<HttpResponse, Error>
fn execute_upload( &self, request: HttpRequest, body: Box<dyn Read + Send>, content_length: u64, ) -> Result<HttpResponse, Error>
Synchronous streaming upload: send
body (exactly content_length bytes)
as the request body. Implementations MUST set an explicit Content-Length
rather than chunked transfer-encoding. Any body set on request is
ignored. Must be called from a blocking context.Source§fn resource_report(&self) -> Option<HttpResourceReport>
fn resource_report(&self) -> Option<HttpResourceReport>
Best-effort per-session footprint of this client: idle connection-pool
buffers plus any in-flight download/media buffering the impl can see.
None by default; ureq/reqwest-backed clients report what their
(limited) introspection allows. Media downloads are a real transient-RAM
source, so a coarse estimate is still worth reporting.Auto Trait Implementations§
impl !RefUnwindSafe for UreqHttpClient
impl !UnwindSafe for UreqHttpClient
impl Freeze for UreqHttpClient
impl Send for UreqHttpClient
impl Sync for UreqHttpClient
impl Unpin for UreqHttpClient
impl UnsafeUnpin for UreqHttpClient
Blanket Implementations§
Source§impl<T> AggregateExpressionMethods for T
impl<T> AggregateExpressionMethods for T
Source§fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
DISTINCT modifier for aggregate functions Read moreSource§fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
ALL modifier for aggregate functions Read moreSource§fn aggregate_filter<P>(self, f: P) -> Self::Output
fn aggregate_filter<P>(self, f: P) -> Self::Output
Add an aggregate function filter Read more
Source§fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
Add an aggregate function order Read more
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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> IntoSql for T
impl<T> IntoSql for T
Source§fn into_sql<T>(self) -> Self::Expression
fn into_sql<T>(self) -> Self::Expression
Convert
self to an expression for Diesel’s query builder. Read moreSource§fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
Convert
&self to an expression for Diesel’s query builder. Read moreimpl<T> MaybeSend for T
impl<T> MaybeSendSync for T
impl<T> Spawnable for Twhere
T: Send + 'static,
Source§impl<T> WindowExpressionMethods for T
impl<T> WindowExpressionMethods for T
Source§fn over(self) -> Self::Outputwhere
Self: OverDsl,
fn over(self) -> Self::Outputwhere
Self: OverDsl,
Turn a function call into a window function call Read more
Source§fn window_filter<P>(self, f: P) -> Self::Output
fn window_filter<P>(self, f: P) -> Self::Output
Add a filter to the current window function Read more
Source§fn partition_by<E>(self, expr: E) -> Self::Outputwhere
Self: PartitionByDsl<E>,
fn partition_by<E>(self, expr: E) -> Self::Outputwhere
Self: PartitionByDsl<E>,
Add a partition clause to the current window function Read more
Source§fn window_order<E>(self, expr: E) -> Self::Outputwhere
Self: OrderWindowDsl<E>,
fn window_order<E>(self, expr: E) -> Self::Outputwhere
Self: OrderWindowDsl<E>,
Add a order clause to the current window function Read more