pub struct Request {
pub inner: InnerRequest,
pub body: Body,
pub metar: MetaRequest,
/* private fields */
}
Expand description
An Wrapper of http::Request
An HTTP request consists of a head and a potentially optional body. The body component is
generic, enabling arbitrary types to represent the HTTP body. For example, the body could be
VecAffix
and Task
roughly add up to a Request
,
Fields
inner: InnerRequest
body: Body
metar: MetaRequest
Implementations
sourceimpl Request
impl Request
sourcepub fn builder() -> RequestBuilder
pub fn builder() -> RequestBuilder
Create an instance of RequestBuilder
that used to build a Request
Examples
let request = Request::default();
.body(());
sourcepub fn body(&self) -> &Body
pub fn body(&self) -> &Body
get shared reference to body of RequestBuilder
Examples
let request = Request::default();
assert!(request.body().is_none());
sourcepub fn body_mut(&mut self) -> &mut Body
pub fn body_mut(&mut self) -> &mut Body
get mutable reference to body of RequestBuilder
Examples
let request = Request::default();
request.body_mut() = 3;
assert!(request.body_mut().is_none());
sourcepub fn extensions(&self) -> &Extensions
pub fn extensions(&self) -> &Extensions
get shared reference to extensions of RequestBuilder
Examples
struct S {}
let request = Request::default();
.body(());
let s = S {};
request.extensions_mut.insert(s);
assert_eq!(request.extensions().get::<S>(), &s);
sourcepub fn extensions_mut(&mut self) -> &mut Extensions
pub fn extensions_mut(&mut self) -> &mut Extensions
get mutable reference to extensions of RequestBuilder
Examples
let request = Request::default();
.body(());
request.extensions_mut().insert(vec![1,2,3]);
assert_eq!(request.extensions().get::<Vec<_>>(), &vec![1,2,3]);
sourcepub fn exts(&self) -> &Extensions
pub fn exts(&self) -> &Extensions
get shared reference to exts of RequestBuilder
Examples
struct S {}
let request = Request::default();
.body(());
let s = S {};
request.exts_mut.insert(s);
assert_eq!(request.exts().get::<S>(), &s);
sourcepub fn exts_mut(&mut self) -> &mut Extensions
pub fn exts_mut(&mut self) -> &mut Extensions
get mutable reference to exts of RequestBuilder
Examples
let request = Request::default();
.body(());
request.exts_mut().insert(vec![1,2,3]);
assert_eq!(request.exts().get::<Vec<_>>(), &vec![1,2,3]);
sourcepub fn body_fn(&self) -> Option<fn(_: Body) -> Body>
pub fn body_fn(&self) -> Option<fn(_: Body) -> Body>
get shared reference to body_fn of Request
Examples
let reqeust = Request::default();
.body_fn(body_fn)
.body(());
assert_eq!(*reqeust.body_fn(), body_fn);
sourcepub fn body_fn_mut(&mut self, body_fn: fn(_: Body) -> Body)
pub fn body_fn_mut(&mut self, body_fn: fn(_: Body) -> Body)
set the body_fn of Request
,
Examples
let req = Request::default();
.as_mut()
.body_fn_mut(body_fn);
assert_eq!(*Request.body_fn(), body_fn);
sourcepub fn info(&self) -> &Info
pub fn info(&self) -> &Info
get shared reference to info of Request
Examples
let request = request::default();
assert_eq!(request.info().used, 0);
sourcepub fn info_mut(&mut self) -> &mut Info
pub fn info_mut(&mut self) -> &mut Info
get mutable reference to info of Request
Examples
let request = request::default();
request.info_mut().unique = false;
assert_eq!(*request.info_ref().unique, false);
sourcepub fn into_body(self) -> Body
pub fn into_body(self) -> Body
Consume the request and obtain the body
Examples
let request = request::default();
assert!(request.into_body().is_empty());
sourcepub fn map<F>(self, f: F) -> Request where
F: FnOnce(Body) -> Body,
pub fn map<F>(self, f: F) -> Request where
F: FnOnce(Body) -> Body,
Convert the body of the request
with function
Examples
let request = request::default();
let new= request.map(|v| v + 1 );
assert_eq!(new.body, vec![2,3,4]);
sourcepub fn from_parts(
inner: InnerRequest,
body: Body,
metar: MetaRequest,
proxy: Option<Proxy>
) -> Self
pub fn from_parts(
inner: InnerRequest,
body: Body,
metar: MetaRequest,
proxy: Option<Proxy>
) -> Self
Create new Request
directly with body, inner data (require feature proxy
enabled)
Examples
let request = request::default();
let ( mut inner, body, meta ) = request.into_parts();
let _ = request::from_parts(inner, body, meta);
sourcepub fn into_parts(self) -> (InnerRequest, Body, MetaRequest, Option<Proxy>)
pub fn into_parts(self) -> (InnerRequest, Body, MetaRequest, Option<Proxy>)
split request
into body, inner data, (require feature proxy
enabled)
Examples
let request = request::default();
let (_inner, _body, _meta ) = request.into_parts();
sourcepub fn from_couple(
couple: &Couple,
f: Option<&Box<dyn for<'c, 'd> Fn(&'c Body, Option<&'d Body>) -> Body + Send>>,
exts_t_fn: Option<&Box<dyn for<'c, 'd> Fn(&'c Extensions, &'d Extensions) -> (Extensions, Extensions) + Send>>,
exts_p_fn: Option<&Box<dyn for<'c, 'd> Fn(&'c Extensions, &'d Extensions) -> (Extensions, Extensions) + Send>>
) -> Self
pub fn from_couple(
couple: &Couple,
f: Option<&Box<dyn for<'c, 'd> Fn(&'c Body, Option<&'d Body>) -> Body + Send>>,
exts_t_fn: Option<&Box<dyn for<'c, 'd> Fn(&'c Extensions, &'d Extensions) -> (Extensions, Extensions) + Send>>,
exts_p_fn: Option<&Box<dyn for<'c, 'd> Fn(&'c Extensions, &'d Extensions) -> (Extensions, Extensions) + Send>>
) -> Self
Create new Request
directly with Task and Affix(Optional)
Examples
let request = request::default();
let ( mut inner, body, meta ) = request.into_parts();
let _ = request::from_parts(inner, body, meta);
Trait Implementations
sourceimpl<'de> Deserialize<'de> for Request
impl<'de> Deserialize<'de> for Request
sourcefn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
sourceimpl Into<(MetaRequest, Request<Body>, Extensions, Extensions)> for Request
impl Into<(MetaRequest, Request<Body>, Extensions, Extensions)> for Request
sourcefn into(self) -> (MetaRequest, Request<Body>, Extensions, Extensions)
fn into(self) -> (MetaRequest, Request<Body>, Extensions, Extensions)
transform a Request
into hyper::Request
Auto Trait Implementations
impl !RefUnwindSafe for Request
impl Send for Request
impl Sync for Request
impl Unpin for Request
impl !UnwindSafe for Request
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
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
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more