Request

Struct Request 

Source
pub struct Request {
    pub method: Method,
    pub uri: Uri,
    pub version: Version,
    pub headers: HeaderMap,
    pub body: Bytes,
    pub extensions: Extensions,
    /* private fields */
}
Expand description

Contains a incoming Http Request

Fields§

§method: Method

The HTTP method of the request.
For example, GET, POST, PUT, DELETE, etc.

§uri: Uri

The URI of the request.

§version: Version

The HTTP version of the request.

§headers: HeaderMap

The headers of the request.

§body: Bytes

The body of the request.

§extensions: Extensions

The extensions of the request.

Implementations§

Source§

impl Request

Source

pub fn parse(raw: &[u8]) -> Result<Request, Error>

Parses a Request from raw bytes if parsing fails returns a error

§Puts a None to as stream of the request!
Source

pub fn take_stream(self) -> Option<TcpStream>

Takes the stream of the request This medhod takes ownership of the Request!
And also gives you to responsiblity give answer to the socket connection This method is only intented to used by Power Users use it at your own risk.

§Usage:

Takes the stream out but you have to clone the request to do so.

if let Some(stream) = request.clone().take_stream(){
     
}

The Reason of this is in the middlewares don’t allow you to have ownership of the request and response objects so to get ownership you have to clone it

Source

pub fn has_stream(&self) -> bool

Returns true if the Request has a Stream false if stream is taken

Source

pub fn json(&self) -> Result<Value, Error>

Parses the body of the request as Serde JSON Value. Returns an error if the body is not valid JSON.
This method is useful for parsing JSON payloads in requests.

Source

pub fn query(&self) -> Result<HashMap<String, String>, Error>

Returns a Hashmap of the query parameters of the Request.
Returns a Error if parsing fails

Source

pub fn set_params(&mut self, params: HashMap<String, String>)

Source

pub fn param(&self, key: &str) -> Option<&str>

Source

pub fn path(&self) -> Cow<'_, str>

Returns the path of the Request

Trait Implementations§

Source§

impl Debug for Request

Source§

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

Formats the value using the given formatter. Read more
Source§

impl Display for Request

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, 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> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

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

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.