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 new() -> RequestBuilder
pub fn new() -> RequestBuilder
New default request builder.
sourcepub fn method(self, method: impl TryMethod) -> Result<RequestBuilder, Error>
pub fn method(self, method: impl TryMethod) -> Result<RequestBuilder, Error>
Set the HTTP method for this request.
sourcepub fn uri(self, uri: impl TryUri) -> Result<RequestBuilder, Error>
pub fn uri(self, uri: impl TryUri) -> Result<RequestBuilder, Error>
Set the URI for this request.
sourcepub fn header(
self,
name: impl TryHeaderName,
value: impl TryHeaderValue,
) -> Result<RequestBuilder, Error>
pub fn header( self, name: impl TryHeaderName, value: impl TryHeaderValue, ) -> Result<RequestBuilder, 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) -> RequestBuilder
pub fn timeout(self, timeout: Duration) -> RequestBuilder
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) -> RequestBuilder
pub fn connect_timeout(self, timeout: Duration) -> RequestBuilder
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,
) -> RequestBuilder
pub fn low_speed_timeout( self, low_speed: u32, timeout: Duration, ) -> RequestBuilder
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) -> RequestBuilder
pub fn redirect_policy(self, policy: RedirectPolicy) -> RequestBuilder
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) -> RequestBuilder
pub fn auto_decompress(self, enabled: bool) -> RequestBuilder
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) -> RequestBuilder
pub fn max_upload_speed(self, max: u64) -> RequestBuilder
Set a maximum upload speed for the request body, in bytes per second.
sourcepub fn max_download_speed(self, max: u64) -> RequestBuilder
pub fn max_download_speed(self, max: u64) -> RequestBuilder
Set a maximum download speed for the response body, in bytes per second.
sourcepub fn max_length(self, max: ByteLength) -> RequestBuilder
pub fn max_length(self, max: ByteLength) -> RequestBuilder
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) -> RequestBuilder
pub fn require_length(self, require: bool) -> RequestBuilder
Set if the Content-Length
header must be present in the response.
sourcepub fn metrics(self, enable: bool) -> RequestBuilder
pub fn metrics(self, enable: bool) -> RequestBuilder
Enable or disable metrics collecting.
When enabled you can get the information using the Response::metrics
method.
This is enabled by default.
Trait Implementations§
source§impl Debug for RequestBuilder
impl Debug for RequestBuilder
source§impl Default for RequestBuilder
impl Default for RequestBuilder
source§fn default() -> RequestBuilder
fn default() -> 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> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
source§impl<T> FsChangeNote for T
impl<T> FsChangeNote for 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§impl<T> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere
T: Default,
type NoneType = T
§fn null_value() -> T
fn null_value() -> T
§impl<T> NoneValue for Twhere
T: Default,
impl<T> NoneValue for Twhere
T: Default,
type NoneType = T
§fn null_value() -> T
fn null_value() -> T
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian()
.