Struct hyper::client::Client [−][src]
A Client to make outgoing HTTP requests.
Implementations
impl Client<HttpConnector, Body>
[src][−]
pub fn new() -> Client<HttpConnector, Body>
[src][−]
Create a new Client with the default config.
Note
The default connector does not handle TLS. Speaking to https
destinations will require configuring a connector that implements
TLS.
impl Client<(), Body>
[src][−]
pub fn builder() -> Builder
[src][−]
Create a builder to configure a new Client
.
Example
use std::time::Duration; use hyper::Client; let client = Client::builder() .pool_idle_timeout(Duration::from_secs(30)) .http2_only(true) .build_http();
impl<C, B> Client<C, B> where
C: Connect + Clone + Send + Sync + 'static,
B: HttpBody + Send + 'static,
B::Data: Send,
B::Error: Into<Box<dyn StdError + Send + Sync>>,
[src][−]
C: Connect + Clone + Send + Sync + 'static,
B: HttpBody + Send + 'static,
B::Data: Send,
B::Error: Into<Box<dyn StdError + Send + Sync>>,
pub fn get(&self, uri: Uri) -> ResponseFutureⓘNotable traits for ResponseFuture
impl Future for ResponseFuture type Output = Result<Response<Body>>;
where
B: Default,
[src][−]
Notable traits for ResponseFuture
impl Future for ResponseFuture type Output = Result<Response<Body>>;
B: Default,
Send a GET
request to the supplied Uri
.
Note
This requires that the HttpBody
type have a Default
implementation.
It should return an “empty” version of itself, such that
HttpBody::is_end_stream
is true
.
Example
use hyper::{Client, Uri}; let client = Client::new(); let future = client.get(Uri::from_static("http://httpbin.org/ip"));
pub fn request(&self, req: Request<B>) -> ResponseFutureⓘNotable traits for ResponseFuture
impl Future for ResponseFuture type Output = Result<Response<Body>>;
[src][−]
Notable traits for ResponseFuture
impl Future for ResponseFuture type Output = Result<Response<Body>>;
Send a constructed Request
using this Client
.
Example
use hyper::{Body, Client, Request}; let client = Client::new(); let req = Request::builder() .method("POST") .uri("http://httpin.org/post") .body(Body::from("Hallo!")) .expect("request builder"); let future = client.request(req);
Trait Implementations
impl<C: Clone, B> Clone for Client<C, B>
[src][+]
impl<C, B> Debug for Client<C, B>
[src][+]
impl Default for Client<HttpConnector, Body>
[src][+]
impl<C, B> Service<Request<B>> for Client<C, B> where
C: Connect + Clone + Send + Sync + 'static,
B: HttpBody + Send + 'static,
B::Data: Send,
B::Error: Into<Box<dyn StdError + Send + Sync>>,
[src][+]
C: Connect + Clone + Send + Sync + 'static,
B: HttpBody + Send + 'static,
B::Data: Send,
B::Error: Into<Box<dyn StdError + Send + Sync>>,
impl<C, B> Service<Request<B>> for &Client<C, B> where
C: Connect + Clone + Send + Sync + 'static,
B: HttpBody + Send + 'static,
B::Data: Send,
B::Error: Into<Box<dyn StdError + Send + Sync>>,
[src][+]
C: Connect + Clone + Send + Sync + 'static,
B: HttpBody + Send + 'static,
B::Data: Send,
B::Error: Into<Box<dyn StdError + Send + Sync>>,
Auto Trait Implementations
impl<C, B = Body> !RefUnwindSafe for Client<C, B>
impl<C, B> Send for Client<C, B> where
B: Send,
C: Send,
B: Send,
C: Send,
impl<C, B> Sync for Client<C, B> where
B: Send,
C: Sync,
B: Send,
C: Sync,
impl<C, B> Unpin for Client<C, B> where
C: Unpin,
C: Unpin,
impl<C, B = Body> !UnwindSafe for Client<C, B>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src][+]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> From<T> for T
[src][+]
impl<T> Instrument for T
[src][+]
impl<T> Instrument for T
[src][+]
impl<T, U> Into<U> for T where
U: From<T>,
[src][+]
U: From<T>,
impl<T> Pointable for T
[src][+]
impl<T> ToOwned for T where
T: Clone,
[src][+]
T: Clone,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,