pub struct BodyBuilder<Body> { /* private fields */ }Expand description
Body based builder, we subvert the Request builder oriented toward body This make it easier to build request with body
Implementations§
Source§impl<Body> BodyBuilder<Body>
impl<Body> BodyBuilder<Body>
pub fn body(self) -> Body
pub fn body_ref(&self) -> &Body
pub fn version(self, version: Version) -> Self
Sourcepub fn bearer(self, token: &str) -> Self
pub fn bearer(self, token: &str) -> Self
set bearer token, this is a shortcut for `Authorization: Bearer
pub fn header<K, V>(self, key: K, value: V) -> Selfwhere
K: TryInto<HeaderName>,
<K as TryInto<HeaderName>>::Error: Into<Error>,
V: TryInto<HeaderValue>,
<V as TryInto<HeaderValue>>::Error: Into<Error>,
pub fn extension<T>(self, extension: T) -> Self
Sourcepub fn post<T>(self, uri: T) -> Result<ByteResponse>
pub fn post<T>(self, uri: T) -> Result<ByteResponse>
invoke post call with the given URI and return the response
pub fn get<T>(self, uri: T) -> Result<ByteResponse>
Methods from Deref<Target = Builder>§
Sourcepub fn method_ref(&self) -> Option<&Method>
pub fn method_ref(&self) -> Option<&Method>
Get the HTTP Method for this request.
By default this is GET. If builder has error, returns None.
§Examples
let mut req = Request::builder();
assert_eq!(req.method_ref(),Some(&Method::GET));
req = req.method("POST");
assert_eq!(req.method_ref(),Some(&Method::POST));Sourcepub fn uri_ref(&self) -> Option<&Uri>
pub fn uri_ref(&self) -> Option<&Uri>
Get the URI for this request
By default this is /.
§Examples
let mut req = Request::builder();
assert_eq!(req.uri_ref().unwrap(), "/" );
req = req.uri("https://www.rust-lang.org/");
assert_eq!(req.uri_ref().unwrap(), "https://www.rust-lang.org/" );Sourcepub fn version_ref(&self) -> Option<&Version>
pub fn version_ref(&self) -> Option<&Version>
Get the HTTP version for this request
By default this is HTTP/1.1.
§Examples
let mut req = Request::builder();
assert_eq!(req.version_ref().unwrap(), &Version::HTTP_11 );
req = req.version(Version::HTTP_2);
assert_eq!(req.version_ref().unwrap(), &Version::HTTP_2 );Sourcepub fn headers_ref(&self) -> Option<&HeaderMap>
pub fn headers_ref(&self) -> Option<&HeaderMap>
Get header on this request builder. when builder has error returns None
§Example
let req = Request::builder()
.header("Accept", "text/html")
.header("X-Custom-Foo", "bar");
let headers = req.headers_ref().unwrap();
assert_eq!( headers["Accept"], "text/html" );
assert_eq!( headers["X-Custom-Foo"], "bar" );Sourcepub fn headers_mut(&mut self) -> Option<&mut HeaderMap>
pub fn headers_mut(&mut self) -> Option<&mut HeaderMap>
Get headers on this request builder.
When builder has error returns None.
§Example
let mut req = Request::builder();
{
let headers = req.headers_mut().unwrap();
headers.insert("Accept", HeaderValue::from_static("text/html"));
headers.insert("X-Custom-Foo", HeaderValue::from_static("bar"));
}
let headers = req.headers_ref().unwrap();
assert_eq!( headers["Accept"], "text/html" );
assert_eq!( headers["X-Custom-Foo"], "bar" );Sourcepub fn extensions_ref(&self) -> Option<&Extensions>
pub fn extensions_ref(&self) -> Option<&Extensions>
Get a reference to the extensions for this request builder.
If the builder has an error, this returns None.
§Example
let req = Request::builder().extension("My Extension").extension(5u32);
let extensions = req.extensions_ref().unwrap();
assert_eq!(extensions.get::<&'static str>(), Some(&"My Extension"));
assert_eq!(extensions.get::<u32>(), Some(&5u32));Sourcepub fn extensions_mut(&mut self) -> Option<&mut Extensions>
pub fn extensions_mut(&mut self) -> Option<&mut Extensions>
Get a mutable reference to the extensions for this request builder.
If the builder has an error, this returns None.
§Example
let mut req = Request::builder().extension("My Extension");
let mut extensions = req.extensions_mut().unwrap();
assert_eq!(extensions.get::<&'static str>(), Some(&"My Extension"));
extensions.insert(5u32);
assert_eq!(extensions.get::<u32>(), Some(&5u32));