pub struct Client {
channel: Option<Sender<Message>>,
thread_handle: Option<JoinHandle<()>>,
handle_config: HandleConfiguration,
stats: Arc<Stats>,
}Expand description
HTTP Client. Creating a new client spawns a cURL Multi and
thread that is used for all HTTP requests by this client.
Fields§
§channel: Option<Sender<Message>>§thread_handle: Option<JoinHandle<()>>§handle_config: HandleConfiguration§stats: Arc<Stats>Implementations§
Source§impl Client
impl Client
Sourcepub fn new(handle_config: HandleConfiguration) -> Client
pub fn new(handle_config: HandleConfiguration) -> Client
Spawns a new worker thread where HTTP request execute.
Sourcepub fn request_blocking(
&self,
request: Request<Vec<u8>>,
) -> Result<Response<Vec<u8>>, Error>
pub fn request_blocking( &self, request: Request<Vec<u8>>, ) -> Result<Response<Vec<u8>>, Error>
Perform a blocking HTTP request using this client. Does not start an async executor.
Sourcepub async fn request(
&self,
request: Request<Vec<u8>>,
) -> Result<Response<Vec<u8>>, Error>
pub async fn request( &self, request: Request<Vec<u8>>, ) -> Result<Response<Vec<u8>>, Error>
Perform an HTTP request using this client.
fn request_helper( &self, request: Request<Vec<u8>>, ) -> Result<Easy2<Collector>, Error>
Sourcepub fn bytes_pending(&self) -> u64
pub fn bytes_pending(&self) -> u64
Returns the number pending bytes across all active transfers.
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 UnsafeUnpin 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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 192 bytes