pub struct RequestBuilder { /* private fields */ }
Expand description
Builder pattern for constructing HttpRequest
instances.
The RequestBuilder
struct facilitates the creation of HttpRequest
objects
through a series of method calls. It allows for flexible and clear configuration of
an HTTP request’s components such as method, URL, headers, and body.
§Fields
http_request
: A temporaryHttpRequest
instance used to accumulate changes during the construction process. It holds the current state of the builder.builder
: A finalizedHttpRequest
instance that holds the result after the builder process has been completed. It is returned when the builder is finalized.
This builder simplifies the creation of HttpRequest
objects, ensuring thread-safety
and immutability of shared references, while providing a fluent API for constructing
HTTP requests with various configurations.
Implementations§
Source§impl RequestBuilder
impl RequestBuilder
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates a new RequestBuilder instance.
§Returns
RequestBuilder
- A new builder instance with default values.
Sourcepub fn http1_1_only(&mut self) -> &mut Self
pub fn http1_1_only(&mut self) -> &mut Self
Sourcepub fn http2_only(&mut self) -> &mut Self
pub fn http2_only(&mut self) -> &mut Self
Sourcepub fn headers<K, V>(&mut self, header: HashMapXxHash3_64<K, V>) -> &mut Self
pub fn headers<K, V>(&mut self, header: HashMapXxHash3_64<K, V>) -> &mut Self
Sourcepub fn timeout(&mut self, timeout: u64) -> &mut Self
pub fn timeout(&mut self, timeout: u64) -> &mut Self
Sets the timeout value for the current connection.
This method sets the timeout duration for the connection, which is used to determine
how long the system should wait for a response before considering the connection attempt
as failed. The timeout value is stored in an Arc
to allow it to be shared safely across
multiple threads if needed.
§Arguments
u64
- The timeout duration in seconds. This value will be used to configure the connection timeout.
§Returns
&mut RequestBuilder
- The builder for method chaining.
Sourcepub fn redirect(&mut self) -> &mut Self
pub fn redirect(&mut self) -> &mut Self
Enables HTTP redirection for the request.
This method sets the redirect
property of the http_request
to true
.
§Returns
&mut RequestBuilder
- The builder for method chaining.
Sourcepub fn unredirect(&mut self) -> &mut Self
pub fn unredirect(&mut self) -> &mut Self
Unenables HTTP redirection for the request.
This method sets the redirect
property of the http_request
to false
.
§Returns
&mut RequestBuilder
- The builder for method chaining.
Sourcepub fn max_redirect_times(&mut self, num: usize) -> &mut Self
pub fn max_redirect_times(&mut self, num: usize) -> &mut Self
Sets the maximum number of allowed redirections for the HTTP request.
This method updates the max_redirect_times
field in the configuration and returns a mutable
reference to self
to enable method chaining.
§Arguments
usize
- The maximum number of redirections allowed. A value of0
disables redirection.
§Returns
&mut RequestBuilder
- A mutable reference to the current instance for method chaining.
§Notes
Ensure that the value provided to num
is within a valid range. Excessively high values
may lead to performance issues or unintended behavior.
Sourcepub fn buffer(&mut self, buffer: usize) -> &mut Self
pub fn buffer(&mut self, buffer: usize) -> &mut Self
Sets the buffer size for the HTTP request configuration.
This method allows you to set the size of the buffer used for reading
the HTTP response. It modifies the buffer
field of the HTTP request’s
configuration, which will be used when processing the response data.
§Arguments
usize
- The size of the buffer to be used, in bytes.
§Returns
&mut RequestBuilder
- Returns a mutable reference toself
, allowing for method chaining.
Sourcepub fn decode(&mut self) -> &mut Self
pub fn decode(&mut self) -> &mut Self
Enables automatic response decoding.
When enabled, the response body will be automatically decompressed if it is encoded using a supported compression format.
§Returns
&mut RequestBuilder
- A mutable reference to the current instance, allowing for method chaining.
Sourcepub fn undecode(&mut self) -> &mut Self
pub fn undecode(&mut self) -> &mut Self
Disables automatic response decoding.
When disabled, the response body will not be automatically decompressed, and the raw encoded data will be returned as-is.
§Returns
&mut RequestBuilder
- A mutable reference to the current instance, allowing for method chaining.
Sourcepub fn http_proxy(&mut self, host: &str, port: u16) -> &mut Self
pub fn http_proxy(&mut self, host: &str, port: u16) -> &mut Self
Sets an HTTP proxy for the request.
This method configures the request to use an HTTP proxy server.
§Arguments
str
- The hostname or IP address of the proxy server.u16
- The port number of the proxy server.
§Returns
&mut RequestBuilder
- A mutable reference to the current instance, allowing for method chaining.
Sourcepub fn https_proxy(&mut self, host: &str, port: u16) -> &mut Self
pub fn https_proxy(&mut self, host: &str, port: u16) -> &mut Self
Sets an HTTPS proxy for the request.
This method configures the request to use an HTTPS proxy server.
§Arguments
str
- The hostname or IP address of the proxy server.u16
- The port number of the proxy server.
§Returns
&mut RequestBuilder
- A mutable reference to the current instance, allowing for method chaining.
Sourcepub fn socks5_proxy(&mut self, host: &str, port: u16) -> &mut Self
pub fn socks5_proxy(&mut self, host: &str, port: u16) -> &mut Self
Sets a SOCKS5 proxy for the request.
This method configures the request to use a SOCKS5 proxy server.
§Arguments
str
- The hostname or IP address of the proxy server.u16
- The port number of the proxy server.
§Returns
&mut RequestBuilder
- A mutable reference to the current instance, allowing for method chaining.
Sourcepub fn http_proxy_auth(
&mut self,
host: &str,
port: u16,
username: &str,
password: &str,
) -> &mut Self
pub fn http_proxy_auth( &mut self, host: &str, port: u16, username: &str, password: &str, ) -> &mut Self
Sets an HTTP proxy with authentication for the request.
This method configures the request to use an HTTP proxy server with username and password authentication.
§Arguments
str
- The hostname or IP address of the proxy server.u16
- The port number of the proxy server.str
- The username for proxy authentication.str
- The password for proxy authentication.
§Returns
&mut RequestBuilder
- A mutable reference to the current instance, allowing for method chaining.
Sourcepub fn https_proxy_auth(
&mut self,
host: &str,
port: u16,
username: &str,
password: &str,
) -> &mut Self
pub fn https_proxy_auth( &mut self, host: &str, port: u16, username: &str, password: &str, ) -> &mut Self
Sets an HTTPS proxy with authentication for the request.
This method configures the request to use an HTTPS proxy server with username and password authentication.
§Arguments
str
- The hostname or IP address of the proxy server.u16
- The port number of the proxy server.str
- The username for proxy authentication.str
- The password for proxy authentication.
§Returns
&mut RequestBuilder
- A mutable reference to the current instance, allowing for method chaining.
Sourcepub fn socks5_proxy_auth(
&mut self,
host: &str,
port: u16,
username: &str,
password: &str,
) -> &mut Self
pub fn socks5_proxy_auth( &mut self, host: &str, port: u16, username: &str, password: &str, ) -> &mut Self
Sets a SOCKS5 proxy with authentication for the request.
This method configures the request to use a SOCKS5 proxy server with username and password authentication.
§Arguments
str
- The hostname or IP address of the proxy server.u16
- The port number of the proxy server.str
- The username for proxy authentication.str
- The password for proxy authentication.
§Returns
&mut RequestBuilder
- A mutable reference to the current instance, allowing for method chaining.
Sourcepub fn build_async(&mut self) -> BoxAsyncRequestTrait
pub fn build_async(&mut self) -> BoxAsyncRequestTrait
Finalizes the builder and returns a fully constructed async HttpRequest
instance.
This method takes the current configuration stored in http_request
, creates a new
HttpRequest
instance with the configuration, and resets the builder’s temporary
state for further use.
§Returns
BoxAsyncRequestTrait
- Returns a fully constructedBoxAsyncRequestTrait
instance based on the current builder state.
Sourcepub fn build_sync(&mut self) -> BoxRequestTrait
pub fn build_sync(&mut self) -> BoxRequestTrait
Finalizes the builder and returns a fully constructed synchronous HttpRequest
instance.
This method takes the current configuration stored in http_request
, creates a new
HttpRequest
instance with the configuration, and resets the builder’s temporary
state for further use.
§Returns
BoxRequestTrait
- Returns a fully constructedBoxRequestTrait
instance based on the current builder state.
Trait Implementations§
Source§impl Clone for RequestBuilder
impl Clone for RequestBuilder
Source§fn clone(&self) -> RequestBuilder
fn clone(&self) -> RequestBuilder
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more