Struct reqwest_oauth1::RequestBuilder
source · pub struct RequestBuilder<TSigner>where
TSigner: Clone,{ /* private fields */ }
Expand description
Compatible interface with reqwest’s RequestBuilder
.
Implementations§
source§impl RequestBuilder<()>
impl RequestBuilder<()>
sourcepub fn sign<'a, TSecrets>(
self,
secrets: TSecrets,
) -> RequestBuilder<Signer<'a, TSecrets, DefaultSM>>where
TSecrets: SecretsProvider + Clone,
pub fn sign<'a, TSecrets>(
self,
secrets: TSecrets,
) -> RequestBuilder<Signer<'a, TSecrets, DefaultSM>>where
TSecrets: SecretsProvider + Clone,
Add the signing information.
sourcepub fn sign_with_params<'a, TSecrets, TSM>(
self,
secrets: TSecrets,
params: OAuthParameters<'a, TSM>,
) -> RequestBuilder<Signer<'a, TSecrets, TSM>>
pub fn sign_with_params<'a, TSecrets, TSM>( self, secrets: TSecrets, params: OAuthParameters<'a, TSM>, ) -> RequestBuilder<Signer<'a, TSecrets, TSM>>
Add the signing information with OAuth parameters.
source§impl<TSecrets, TSM> RequestBuilder<Signer<'_, TSecrets, TSM>>
impl<TSecrets, TSM> RequestBuilder<Signer<'_, TSecrets, TSM>>
sourcepub async fn send(self) -> Result<Response, Error>
pub async fn send(self) -> Result<Response, Error>
Constructs the Request and sends it to the target URL, returning a future Response.
§Errors
This method fails if there was an error while sending request, redirect loop was detected or redirect limit was exhausted.
sourcepub fn generate_signature(self) -> SignResult<ReqwestRequestBuilder>
pub fn generate_signature(self) -> SignResult<ReqwestRequestBuilder>
Generate an OAuth signature and return the reqwest’s RequestBuilder
.
source§impl<TSigner> RequestBuilder<TSigner>where
TSigner: Clone,
impl<TSigner> RequestBuilder<TSigner>where
TSigner: Clone,
sourcepub fn query<T: Serialize + ?Sized>(self, query: &T) -> Self
pub fn query<T: Serialize + ?Sized>(self, query: &T) -> Self
Modify the query string of the URL.
Modifies the URL of this request, adding the parameters provided.
This method appends and does not overwrite. This means that it can
be called multiple times and that existing query parameters are not
overwritten if the same key is used. The key will simply show up
twice in the query string.
Calling .query([("foo", "a"), ("foo", "b")])
gives "foo=a&foo=b"
.
§Note
This method does not support serializing a single key-value
pair. Instead of using .query(("key", "val"))
, use a sequence, such
as .query(&[("key", "val")])
. It’s also possible to serialize structs
and maps into a key-value pair.
§Errors
This method will fail if the object you provide cannot be serialized into a query string.
sourcepub fn query_without_capture<T: Serialize>(self, query: &T) -> Self
pub fn query_without_capture<T: Serialize>(self, query: &T) -> Self
Modify the query string of the URL, without capturing OAuth parameters.
§Note
Generated OAuth signature will may be invalid when you call this method
with the parameters including the oauth_*
parameters or the realm
parameter.
sourcepub fn form_without_capture<T: Serialize + ?Sized>(self, form: &T) -> Self
pub fn form_without_capture<T: Serialize + ?Sized>(self, form: &T) -> Self
§Note
Generated OAuth signature will may be invalid when you call this method
with the parameters including the oauth_*
parameters or the realm
parameter.
sourcepub fn header<K, V>(self, key: K, value: V) -> Selfwhere
HeaderName: TryFrom<K>,
<HeaderName as TryFrom<K>>::Error: Into<Error>,
HeaderValue: TryFrom<V>,
<HeaderValue as TryFrom<V>>::Error: Into<Error>,
pub fn header<K, V>(self, key: K, value: V) -> Selfwhere
HeaderName: TryFrom<K>,
<HeaderName as TryFrom<K>>::Error: Into<Error>,
HeaderValue: TryFrom<V>,
<HeaderValue as TryFrom<V>>::Error: Into<Error>,
Add a Header
to this Request.
sourcepub fn headers(self, headers: HeaderMap) -> Self
pub fn headers(self, headers: HeaderMap) -> Self
Add a set of Headers to the existing ones on this Request.
The headers will be merged in to any already set.
sourcepub fn basic_auth<U, P>(self, username: U, password: Option<P>) -> Self
pub fn basic_auth<U, P>(self, username: U, password: Option<P>) -> Self
Enable HTTP basic authentication.
sourcepub fn bearer_auth<T>(self, token: T) -> Selfwhere
T: Display,
pub fn bearer_auth<T>(self, token: T) -> Selfwhere
T: Display,
Enable HTTP bearer authentication.
sourcepub fn timeout(self, timeout: Duration) -> Self
pub fn timeout(self, timeout: Duration) -> Self
Enables a request timeout.
The timeout is applied from the when the request starts connecting
until the response body has finished. It affects only this request
and overrides the timeout configured using ClientBuilder::timeout()
.
sourcepub fn multipart(self, multipart: Form) -> Self
pub fn multipart(self, multipart: Form) -> Self
Sends a multipart/form-data body.
let client = reqwest::Client::new();
let form = reqwest::multipart::Form::new()
.text("key3", "value3")
.text("key4", "value4");
let response = client.post("your url")
.multipart(form)
.send()
.await?;
Note: multipart/form-data is not handled by the OAuth signer.
sourcepub fn fetch_mode_no_cors(self) -> Self
pub fn fetch_mode_no_cors(self) -> Self
Disable CORS on fetching the request.
§WASM
This option is only effective with WebAssembly target.
The request mode will be set to ‘no-cors’.