Struct minreq::Request

source ·
pub struct Request { /* private fields */ }
Expand description

An HTTP request.

Generally created by the minreq::get-style functions, corresponding to the HTTP method we want to use.

Example

let request = minreq::post("http://example.com");

After creating the request, you would generally call send or send_lazy on it, as it doesn’t do much on its own.

Implementations§

source§

impl Request

source

pub fn new<T: Into<URL>>(method: Method, url: T) -> Request

Creates a new HTTP Request.

This is only the request’s data, it is not sent yet. For sending the request, see send.

If urlencoding is not enabled, it is the responsibility of the user to ensure there are no illegal characters in the URL.

If urlencoding is enabled, the resource part of the URL will be encoded. Any URL special characters (e.g. &, #, =) are not encoded as they are assumed to be meaningful parameters etc.

source

pub fn with_header<T: Into<String>, U: Into<String>>( self, key: T, value: U ) -> Request

Adds a header to the request this is called on. Use this function to add headers to your requests.

source

pub fn with_body<T: Into<Vec<u8>>>(self, body: T) -> Request

Sets the request body.

source

pub fn with_param<T: Into<String>, U: Into<String>>( self, key: T, value: U ) -> Request

Adds given key and value as query parameter to request url (resource).

If urlencoding is not enabled, it is the responsibility of the user to ensure there are no illegal characters in the key or value.

If urlencoding is enabled, the key and value are both encoded.

source

pub fn with_json<T: Serialize>(self, body: &T) -> Result<Request, Error>

Converts given argument to JSON and sets it as body.

Errors

Returns SerdeJsonError if Serde runs into a problem when converting body into a string.

source

pub fn with_timeout(self, timeout: u64) -> Request

Sets the request timeout in seconds.

source

pub fn with_max_redirects(self, max_redirects: usize) -> Request

Sets the max redirects we follow until giving up. 100 by default.

Warning: setting this to a very high number, such as 1000, may cause a stack overflow if that many redirects are followed. If you have a use for so many redirects that the stack overflow becomes a problem, please open an issue.

source

pub fn with_max_headers_size<S: Into<Option<usize>>>( self, max_headers_size: S ) -> Request

Sets the maximum size of all the headers this request will accept.

If this limit is passed, the request will close the connection and return an Error::HeadersOverflow error.

The maximum length is counted in bytes, including line-endings and other whitespace. Both normal and trailing headers count towards this cap.

None disables the cap, and may cause the program to use any amount of memory if the server responds with a lot of headers (or an infinite amount). In minreq versions 2.x.x, the default is None, so setting this manually is recommended when talking to untrusted servers.

source

pub fn with_max_status_line_length<S: Into<Option<usize>>>( self, max_status_line_len: S ) -> Request

Sets the maximum length of the status line this request will accept.

If this limit is passed, the request will close the connection and return an Error::StatusLineOverflow error.

The maximum length is counted in bytes, including the line-ending \r\n.

None disables the cap, and may cause the program to use any amount of memory if the server responds with a long (or infinite) status line. In minreq versions 2.x.x, the default is None, so setting this manually is recommended when talking to untrusted servers.

source

pub fn with_proxy(self, proxy: Proxy) -> Request

Sets the proxy to use.

source

pub fn send(self) -> Result<Response, Error>

Sends this request to the host.

Errors

Returns Err if we run into an error while sending the request, or receiving/parsing the response. The specific error is described in the Err, and it can be any minreq::Error except SerdeJsonError and InvalidUtf8InBody.

source

pub fn send_lazy(self) -> Result<ResponseLazy, Error>

Sends this request to the host, loaded lazily.

Errors

See send.

Trait Implementations§

source§

impl Clone for Request

source§

fn clone(&self) -> Request

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Request

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl PartialEq<Request> for Request

source§

fn eq(&self, other: &Request) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for Request

source§

impl StructuralEq for Request

source§

impl StructuralPartialEq for Request

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.