Struct zng_task::http::RequestBuilder
source · pub struct RequestBuilder { /* private fields */ }
Expand description
A Request
builder.
You can use Request::builder
to start an empty builder.
Implementations§
source§impl RequestBuilder
impl RequestBuilder
sourcepub fn method(self, method: impl TryMethod) -> Result<Self, Error>
pub fn method(self, method: impl TryMethod) -> Result<Self, Error>
Set the HTTP method for this request.
sourcepub fn header(
self,
name: impl TryHeaderName,
value: impl TryHeaderValue,
) -> Result<Self, Error>
pub fn header( self, name: impl TryHeaderName, value: impl TryHeaderValue, ) -> Result<Self, Error>
Appends a header to this request.
Set a cookie jar to use to accept, store, and supply cookies for incoming responses and outgoing requests.
Note that the default_client
already has a cookie jar.
sourcepub fn timeout(self, timeout: Duration) -> Self
pub fn timeout(self, timeout: Duration) -> Self
Specify a maximum amount of time that a complete request/response cycle is allowed to take before being aborted. This includes DNS resolution, connecting to the server, writing the request, and reading the response.
Note that this includes the response read operation, so if you get a response but don’t
read-it within this timeout you will get a TimedOut
IO error.
By default no timeout is used.
sourcepub fn connect_timeout(self, timeout: Duration) -> Self
pub fn connect_timeout(self, timeout: Duration) -> Self
Set a timeout for establishing connections to a host.
If not set, the default_client
default of 90 seconds will be used.
sourcepub fn low_speed_timeout(self, low_speed: u32, timeout: Duration) -> Self
pub fn low_speed_timeout(self, low_speed: u32, timeout: Duration) -> Self
Specify a maximum amount of time where transfer rate can go below a minimum speed limit.
The low_speed
limit is in bytes/s. No low-speed limit is configured by default.
sourcepub fn redirect_policy(self, policy: RedirectPolicy) -> Self
pub fn redirect_policy(self, policy: RedirectPolicy) -> Self
Set a policy for automatically following server redirects.
If enabled the “Referer” header will be set automatically too.
The default_client
follows up-to 20 redirects.
sourcepub fn auto_decompress(self, enabled: bool) -> Self
pub fn auto_decompress(self, enabled: bool) -> Self
Enable or disable automatic decompression of the response body.
If enabled the “Accept-Encoding” will also be set automatically, if it was not set using header
.
This is enabled by default.
sourcepub fn max_upload_speed(self, max: u64) -> Self
pub fn max_upload_speed(self, max: u64) -> Self
Set a maximum upload speed for the request body, in bytes per second.
sourcepub fn max_download_speed(self, max: u64) -> Self
pub fn max_download_speed(self, max: u64) -> Self
Set a maximum download speed for the response body, in bytes per second.
sourcepub fn max_length(self, max: ByteLength) -> Self
pub fn max_length(self, max: ByteLength) -> Self
Set the maximum response content length allowed.
If the Content-Length
is present on the response and it exceeds this limit an error is
returned immediately, otherwise if require_length
is not enabled an error will be returned
only when the downloaded body length exceeds the limit.
No limit by default.
sourcepub fn require_length(self, require: bool) -> Self
pub fn require_length(self, require: bool) -> Self
Set if the Content-Length
header must be present in the response.
sourcepub fn metrics(self, enable: bool) -> Self
pub fn metrics(self, enable: bool) -> Self
Enable or disable metrics collecting.
When enabled you can get the information using the Response::metrics
method.
This is enabled by default.
sourcepub fn build_custom<F>(self, custom: F) -> Result<Request, Error>
pub fn build_custom<F>(self, custom: F) -> Result<Request, Error>
Build the request with more custom build calls in the inner builder.
Trait Implementations§
source§impl Debug for RequestBuilder
impl Debug for RequestBuilder
Auto Trait Implementations§
impl !Freeze for RequestBuilder
impl !RefUnwindSafe for RequestBuilder
impl Send for RequestBuilder
impl Sync for RequestBuilder
impl Unpin for RequestBuilder
impl !UnwindSafe for RequestBuilder
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
§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> 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>
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>
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