Struct ntex::http::client::ClientRequest [−][src]
pub struct ClientRequest { /* fields omitted */ }
Expand description
An HTTP Client request builder
This type can be used to construct an instance of ClientRequest
through a
builder-like pattern.
use ntex::http::client::Client;
#[ntex::main]
async fn main() {
let response = Client::new()
.get("http://www.rust-lang.org") // <- Create request builder
.header("User-Agent", "ntex::web")
.send() // <- Send http request
.await;
response.and_then(|response| { // <- server http response
println!("Response: {:?}", response);
Ok(())
});
}
Implementations
Set HTTP URI of request.
Set socket address of the server.
This address is used for connection. If address is not provided url’s host name get resolved.
Get HTTP method of this request
Get HTTP version of this request.
Returns request’s mutable headers.
pub fn header<K, V>(self, key: K, value: V) -> Self where
HeaderName: TryFrom<K>,
HeaderValue: TryFrom<V>,
<HeaderName as TryFrom<K>>::Error: Into<HttpError>,
<HeaderValue as TryFrom<V>>::Error: Into<HttpError>,
pub fn header<K, V>(self, key: K, value: V) -> Self where
HeaderName: TryFrom<K>,
HeaderValue: TryFrom<V>,
<HeaderName as TryFrom<K>>::Error: Into<HttpError>,
<HeaderValue as TryFrom<V>>::Error: Into<HttpError>,
Append a header.
Header gets appended to existing header.
To override header use set_header()
method.
use ntex::http;
use ntex::http::client::Client;
#[ntex::main]
async fn main() {
let req = Client::new()
.get("http://www.rust-lang.org")
.header("X-TEST", "value")
.header(http::header::CONTENT_TYPE, "application/json");
}
pub fn set_header<K, V>(self, key: K, value: V) -> Self where
HeaderName: TryFrom<K>,
HeaderValue: TryFrom<V>,
<HeaderName as TryFrom<K>>::Error: Into<HttpError>,
<HeaderValue as TryFrom<V>>::Error: Into<HttpError>,
pub fn set_header<K, V>(self, key: K, value: V) -> Self where
HeaderName: TryFrom<K>,
HeaderValue: TryFrom<V>,
<HeaderName as TryFrom<K>>::Error: Into<HttpError>,
<HeaderValue as TryFrom<V>>::Error: Into<HttpError>,
Insert a header, replaces existing header.
pub fn set_header_if_none<K, V>(self, key: K, value: V) -> Self where
HeaderName: TryFrom<K>,
HeaderValue: TryFrom<V>,
<HeaderName as TryFrom<K>>::Error: Into<HttpError>,
<HeaderValue as TryFrom<V>>::Error: Into<HttpError>,
pub fn set_header_if_none<K, V>(self, key: K, value: V) -> Self where
HeaderName: TryFrom<K>,
HeaderValue: TryFrom<V>,
<HeaderName as TryFrom<K>>::Error: Into<HttpError>,
<HeaderValue as TryFrom<V>>::Error: Into<HttpError>,
Insert a header only if it is not yet set.
Force close connection instead of returning it back to connections pool. This setting affect only http/1 connections.
pub fn content_type<V>(self, value: V) -> Self where
HeaderValue: TryFrom<V>,
<HeaderValue as TryFrom<V>>::Error: Into<HttpError>,
pub fn content_type<V>(self, value: V) -> Self where
HeaderValue: TryFrom<V>,
<HeaderValue as TryFrom<V>>::Error: Into<HttpError>,
Set request’s content type
Set content length
Set HTTP basic authorization header
Set HTTP bearer authentication header
Set a cookie
use coo_kie as cookie;
use ntex::http::client::Client;
#[ntex::main]
async fn main() {
let resp = Client::new().get("https://www.rust-lang.org")
.cookie(
cookie::Cookie::build("name", "value")
.domain("www.rust-lang.org")
.path("/")
.secure(true)
.http_only(true)
.finish(),
)
.send()
.await;
println!("Response: {:?}", resp);
}
Disable automatic decompress of response’s body
Set request timeout in millis. Overrides client wide timeout setting.
Request timeout is the total time before a response must be received. Default value is 5 seconds.
pub fn if_true<F>(self, value: bool, f: F) -> Self where
F: FnOnce(ClientRequest) -> ClientRequest,
pub fn if_true<F>(self, value: bool, f: F) -> Self where
F: FnOnce(ClientRequest) -> ClientRequest,
This method calls provided closure with builder reference if
value is true
.
pub fn if_some<T, F>(self, value: Option<T>, f: F) -> Self where
F: FnOnce(T, ClientRequest) -> ClientRequest,
pub fn if_some<T, F>(self, value: Option<T>, f: F) -> Self where
F: FnOnce(T, ClientRequest) -> ClientRequest,
This method calls provided closure with builder reference if
value is Some
.
Sets the query part of the request
Freeze request builder and construct FrozenClientRequest
,
which could be used for sending same request multiple times.
pub fn send_body<B>(self, body: B) -> SendClientRequestⓘNotable traits for SendClientRequestimpl Future for SendClientRequest type Output = Result<ClientResponse, SendRequestError>;
where
B: Into<Body>,
pub fn send_body<B>(self, body: B) -> SendClientRequestⓘNotable traits for SendClientRequestimpl Future for SendClientRequest type Output = Result<ClientResponse, SendRequestError>;
where
B: Into<Body>,
impl Future for SendClientRequest type Output = Result<ClientResponse, SendRequestError>;
Complete request construction and send body.
pub fn send_json<T: Serialize>(self, value: &T) -> SendClientRequestⓘNotable traits for SendClientRequestimpl Future for SendClientRequest type Output = Result<ClientResponse, SendRequestError>;
pub fn send_json<T: Serialize>(self, value: &T) -> SendClientRequestⓘNotable traits for SendClientRequestimpl Future for SendClientRequest type Output = Result<ClientResponse, SendRequestError>;
impl Future for SendClientRequest type Output = Result<ClientResponse, SendRequestError>;
Set a JSON body and generate ClientRequest
pub fn send_form<T: Serialize>(self, value: &T) -> SendClientRequestⓘNotable traits for SendClientRequestimpl Future for SendClientRequest type Output = Result<ClientResponse, SendRequestError>;
pub fn send_form<T: Serialize>(self, value: &T) -> SendClientRequestⓘNotable traits for SendClientRequestimpl Future for SendClientRequest type Output = Result<ClientResponse, SendRequestError>;
impl Future for SendClientRequest type Output = Result<ClientResponse, SendRequestError>;
Set a urlencoded body and generate ClientRequest
ClientRequestBuilder
can not be used after this call.
pub fn send_stream<S, E>(self, stream: S) -> SendClientRequestⓘNotable traits for SendClientRequestimpl Future for SendClientRequest type Output = Result<ClientResponse, SendRequestError>;
where
S: Stream<Item = Result<Bytes, E>> + Unpin + 'static,
E: Error + 'static,
pub fn send_stream<S, E>(self, stream: S) -> SendClientRequestⓘNotable traits for SendClientRequestimpl Future for SendClientRequest type Output = Result<ClientResponse, SendRequestError>;
where
S: Stream<Item = Result<Bytes, E>> + Unpin + 'static,
E: Error + 'static,
impl Future for SendClientRequest type Output = Result<ClientResponse, SendRequestError>;
Set an streaming body and generate ClientRequest
.
pub fn send(self) -> SendClientRequestⓘNotable traits for SendClientRequestimpl Future for SendClientRequest type Output = Result<ClientResponse, SendRequestError>;
pub fn send(self) -> SendClientRequestⓘNotable traits for SendClientRequestimpl Future for SendClientRequest type Output = Result<ClientResponse, SendRequestError>;
impl Future for SendClientRequest type Output = Result<ClientResponse, SendRequestError>;
Set an empty body and generate ClientRequest
.
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for ClientRequest
impl !Send for ClientRequest
impl !Sync for ClientRequest
impl Unpin for ClientRequest
impl !UnwindSafe for ClientRequest
Blanket Implementations
Mutably borrows from an owned value. Read more
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more