[][src]Struct sincere::app::context::Context

pub struct Context<'a> {
    pub app: &'a App,
    pub request: Request,
    pub response: Response,
    pub contexts: Message,
    // some fields omitted
}

App context.

Fields

app: &'a App

app container reference

request: Request

http request

response: Response

http response

contexts: Message

contexts key-value container

Methods

impl<'a> Context<'a>[src]

pub fn stop(&mut self)[src]

Stop the handle to continue.

Examples

use sincere::App;

let mut app = App::new();

app.get("/", |context| {
   context.response.from_text("Hello world!").unwrap();
});

app.before(|context| {
    if let Some(token) = context.request.header("Token") {

        if token == "token" {
            context.contexts.insert("id".to_owned(), token.clone());
        } else {
            context.response.from_text("Token validation failed!").unwrap();
            context.stop();
        }

    } else {
        context.response.status_code(401);
        context.stop();
    }
});

app.get("/", |context| {
    let token = context.contexts.get_str("token").unwrap();
    println!("token is: {:?}", token);
});

Auto Trait Implementations

impl<'a> Unpin for Context<'a>

impl<'a> Sync for Context<'a>

impl<'a> Send for Context<'a>

impl<'a> !RefUnwindSafe for Context<'a>

impl<'a> !UnwindSafe for Context<'a>

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

impl<T> Erased for T