pub struct Request { /* private fields */ }Expand description
请求体
use silent::Request;
let req = Request::empty();Implementations§
source§impl Request
impl Request
sourcepub fn remote(&self) -> SocketAddr
pub fn remote(&self) -> SocketAddr
获取访问真实地址
sourcepub fn req_mut(&mut self) -> &mut BaseRequest<ReqBody>
pub fn req_mut(&mut self) -> &mut BaseRequest<ReqBody>
获取可变原请求体
sourcepub fn path_params(&self) -> &HashMap<String, PathParam>
pub fn path_params(&self) -> &HashMap<String, PathParam>
获取路径参数集合
sourcepub fn get_path_params<'a, T>(&'a self, key: &'a str) -> Result<T, SilentError>
pub fn get_path_params<'a, T>(&'a self, key: &'a str) -> Result<T, SilentError>
获取路径参数
sourcepub fn params_parse<T>(&mut self) -> Result<T, SilentError>where
for<'de> T: Deserialize<'de>,
pub fn params_parse<T>(&mut self) -> Result<T, SilentError>where
for<'de> T: Deserialize<'de>,
转换query参数
sourcepub fn replace_body(&mut self, body: ReqBody) -> ReqBody
pub fn replace_body(&mut self, body: ReqBody) -> ReqBody
获取请求body
sourcepub fn content_type(&self) -> Option<Mime>
pub fn content_type(&self) -> Option<Mime>
获取请求content_type
sourcepub async fn form_data(&mut self) -> Result<&FormData, SilentError>
pub async fn form_data(&mut self) -> Result<&FormData, SilentError>
获取请求form_data
sourcepub async fn body_parse<T>(&mut self, key: &str) -> Option<T>where
for<'de> T: Deserialize<'de>,
pub async fn body_parse<T>(&mut self, key: &str) -> Option<T>where
for<'de> T: Deserialize<'de>,
转换body参数
sourcepub async fn json_parse<T>(&mut self) -> Result<T, SilentError>where
for<'de> T: Deserialize<'de>,
pub async fn json_parse<T>(&mut self) -> Result<T, SilentError>where
for<'de> T: Deserialize<'de>,
转换body参数按Json匹配
sourcepub fn replace_extensions(&mut self, extensions: Extensions) -> Extensions
pub fn replace_extensions(&mut self, extensions: Extensions) -> Extensions
获取请求body
sourcepub fn take_extensions(&mut self) -> Extensions
pub fn take_extensions(&mut self) -> Extensions
获取请求body
Methods from Deref<Target = BaseRequest<ReqBody>>§
sourcepub fn method(&self) -> &Method
pub fn method(&self) -> &Method
Returns a reference to the associated HTTP method.
Examples
let request: Request<()> = Request::default();
assert_eq!(*request.method(), Method::GET);sourcepub fn method_mut(&mut self) -> &mut Method
pub fn method_mut(&mut self) -> &mut Method
Returns a mutable reference to the associated HTTP method.
Examples
let mut request: Request<()> = Request::default();
*request.method_mut() = Method::PUT;
assert_eq!(*request.method(), Method::PUT);sourcepub fn uri(&self) -> &Uri
pub fn uri(&self) -> &Uri
Returns a reference to the associated URI.
Examples
let request: Request<()> = Request::default();
assert_eq!(*request.uri(), *"/");sourcepub fn uri_mut(&mut self) -> &mut Uri
pub fn uri_mut(&mut self) -> &mut Uri
Returns a mutable reference to the associated URI.
Examples
let mut request: Request<()> = Request::default();
*request.uri_mut() = "/hello".parse().unwrap();
assert_eq!(*request.uri(), *"/hello");sourcepub fn version(&self) -> Version
pub fn version(&self) -> Version
Returns the associated version.
Examples
let request: Request<()> = Request::default();
assert_eq!(request.version(), Version::HTTP_11);sourcepub fn version_mut(&mut self) -> &mut Version
pub fn version_mut(&mut self) -> &mut Version
Returns a mutable reference to the associated version.
Examples
let mut request: Request<()> = Request::default();
*request.version_mut() = Version::HTTP_2;
assert_eq!(request.version(), Version::HTTP_2);sourcepub fn headers(&self) -> &HeaderMap
pub fn headers(&self) -> &HeaderMap
Returns a reference to the associated header field map.
Examples
let request: Request<()> = Request::default();
assert!(request.headers().is_empty());sourcepub fn headers_mut(&mut self) -> &mut HeaderMap
pub fn headers_mut(&mut self) -> &mut HeaderMap
Returns a mutable reference to the associated header field map.
Examples
let mut request: Request<()> = Request::default();
request.headers_mut().insert(HOST, HeaderValue::from_static("world"));
assert!(!request.headers().is_empty());sourcepub fn extensions(&self) -> &Extensions
pub fn extensions(&self) -> &Extensions
Returns a reference to the associated extensions.
Examples
let request: Request<()> = Request::default();
assert!(request.extensions().get::<i32>().is_none());sourcepub fn extensions_mut(&mut self) -> &mut Extensions
pub fn extensions_mut(&mut self) -> &mut Extensions
Returns a mutable reference to the associated extensions.
Examples
let mut request: Request<()> = Request::default();
request.extensions_mut().insert("hello");
assert_eq!(request.extensions().get(), Some(&"hello"));Trait Implementations§
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§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more