Struct afire::extension::RequestId

source ·
pub struct RequestId { /* private fields */ }
Expand description

Add an id to every incoming Request

The ID is just incremented on each request to not have to worry about collisions

Implementations§

source§

impl RequestId

source

pub fn new(header: impl Into<HeaderType>) -> Self

Create a new RequestId Middleware

Example
// Import Lib
use afire::{Server, Middleware, extension::RequestId};

// Create Server & RequestId Middleware
let mut server = Server::<()>::new("localhost", 8080);
RequestId::new("X-REQ-ID").attach(&mut server);

// Start Server
server.start().unwrap();

Trait Implementations§

source§

impl Middleware for RequestId

source§

fn pre(&self, req: &mut Request) -> MiddleResult

Middleware to run Before Routes
source§

fn pre_raw(&self, req: &mut Result<Request>) -> MiddleResult

Middleware to run before routes. Because this is the raw version of Middleware::pre, it is passed a Result. The default implementation calls Middleware::pre if the Result is Ok.
source§

fn post_raw( &self, req: Result<Rc<Request>>, res: &mut Result<Response> ) -> MiddleResult

Middleware to run after routes. Because this is the raw version of Middleware::post, it is passed a Result. The default implementation calls Middleware::post if the Result is Ok.
source§

fn post(&self, _req: &Request, _res: &mut Response) -> MiddleResult

Middleware to run After Routes
source§

fn end_raw(&self, req: &Result<Request>, res: &Result<Response>)

Middleware to run after the response has been handled. Because this is the raw version of Middleware::end, it is passed a Result. The default implementation calls Middleware::end if the Result is Ok.
source§

fn end(&self, _req: &Request, _res: &Response)

Middleware ot run after the response has been handled
source§

fn attach<State>(self, server: &mut Server<State>)where Self: 'static + Send + Sync + Sized, State: 'static + Send + Sync,

Attach Middleware to a Server. If you want to get a reference to the server’s state in your middleware state, you should override this method.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere 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 Twhere 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, U> TryFrom<U> for Twhere U: Into<T>,

§

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 Twhere U: TryFrom<T>,

§

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.