Skip to main content

RequestBuilder

Struct RequestBuilder 

Source
pub struct RequestBuilder { /* private fields */ }
Expand description

A request builder returned by RotatingClient::request.

This wraps reqwest::RequestBuilder instead of returning it directly: the reqwest idiom of calling .send() on a plain RequestBuilder would send the request from the direct client, with no proxy rotation, rate limiting or retries — silently doing the one thing a RotatingClient exists to prevent. Call send here instead; it routes through the same retry loop as RotatingClient::get. into_inner is the escape hatch for the rare case you want the plain builder anyway.

Implementations§

Source§

impl RequestBuilder

Source

pub fn header<K, V>(self, key: K, value: V) -> Self

Adds a header. See reqwest::RequestBuilder::header.

Source

pub fn headers(self, headers: HeaderMap) -> Self

Adds a set of headers, merged into any already set. See reqwest::RequestBuilder::headers.

Source

pub fn basic_auth<U, P>(self, username: U, password: Option<P>) -> Self
where U: Display, P: Display,

Enables HTTP basic authentication. See reqwest::RequestBuilder::basic_auth.

Source

pub fn bearer_auth<T>(self, token: T) -> Self
where T: Display,

Enables HTTP bearer authentication. See reqwest::RequestBuilder::bearer_auth.

Source

pub fn body<T: Into<Body>>(self, body: T) -> Self

Sets the request body. See reqwest::RequestBuilder::body.

Source

pub fn timeout(self, timeout: Duration) -> Self

Enables a per-request timeout, overriding the client’s default. See reqwest::RequestBuilder::timeout.

Source

pub fn version(self, version: Version) -> Self

Sets the HTTP version. See reqwest::RequestBuilder::version.

Source

pub fn query<T: Serialize + ?Sized>(self, query: &T) -> Self

Appends query parameters to the URL. See reqwest::RequestBuilder::query.

Source

pub fn form<T: Serialize + ?Sized>(self, form: &T) -> Self

Sends a url-encoded form body. See reqwest::RequestBuilder::form.

Source

pub fn json<T: Serialize + ?Sized>(self, json: &T) -> Self

Sends a JSON body. Needs the json feature. See reqwest::RequestBuilder::json.

Source

pub fn multipart(self, form: Form) -> Self

Sends a multipart/form-data body. Needs the multipart feature. See reqwest::RequestBuilder::multipart.

Source

pub fn build(self) -> Result<Request, Error>

Builds the Request without sending it.

§Errors

Returns Error::Reqwest if the request could not be built, e.g. an invalid header or an unserialisable query, form or json body.

Source

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

Sends the request, applying rate limiting, proxy rotation, and retries — the same path as RotatingClient::get.

§Errors

Returns Error::Reqwest when the request cannot be built or when the last attempt fails after the retries are used up; see Error for the full set.

Source

pub fn into_inner(self) -> RequestBuilder

Escapes to the plain reqwest::RequestBuilder. Its own .send() bypasses rate limiting, proxy rotation and retries, sending directly with no proxy; pass it to RotatingClient::send to get them back.

Trait Implementations§

Source§

impl Debug for RequestBuilder

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where 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> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where 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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

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

Source§

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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more