[][src]Struct nickel::Request

pub struct Request<'mw, 'server: 'mw, D: 'mw = ()> {
    pub origin: HyperRequest<'mw, 'server>,
    pub route_result: Option<RouteResult<'mw, D>>,
    // some fields omitted
}

A container for all the request data.

The lifetime 'mw represents the lifetime of various bits of middleware state within nickel. It can vary and get shorter.

The lifetime 'server represents the lifetime of data internal to the server. It is fixed and longer than 'mw.

Fields

origin: HyperRequest<'mw, 'server>

the original hyper::server::Request

route_result: Option<RouteResult<'mw, D>>

a HashMap<String, String> holding all params with names and values

Methods

impl<'mw, 'server, D> Request<'mw, 'server, D>
[src]

pub fn from_internal(
    req: HyperRequest<'mw, 'server>,
    data: &'mw D
) -> Request<'mw, 'server, D>
[src]

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

pub fn path_without_query(&self) -> Option<&str>
[src]

pub fn server_data(&self) -> &'mw D
[src]

Trait Implementations

impl<'mw, 'conn, D> FormBody for Request<'mw, 'conn, D>
[src]

impl<'mw, 'conn, D> JsonBody for Request<'mw, 'conn, D>
[src]

impl<'mw, 'conn, D> QueryString for Request<'mw, 'conn, D>
[src]

impl<'mw, 'server, D> Referer for Request<'mw, 'server, D>
[src]

fn referer(&self) -> Option<&str>
[src]

Get the Request's referer header

Examples

extern crate nickel;

use nickel::{Nickel, HttpRouter, Request, Response, MiddlewareResult};
use nickel::extensions::{Referer, Redirect};

fn referer<'mw, 'conn>(req: &mut Request<'mw, 'conn>, res: Response<'mw>) -> MiddlewareResult<'mw> {
    let back = req.referer().unwrap_or("http://nickel-org.github.io/");
    return res.redirect(back)
}

fn main() {
    let mut server = Nickel::new();
    server.get("/a", referer);
}

impl<'mw, 'server, D> Extensible for Request<'mw, 'server, D>
[src]

impl<'mw, 'server, D> Pluggable for Request<'mw, 'server, D>
[src]

fn get<P>(&mut self) -> Result<<P as Key>::Value, <P as Plugin<Self>>::Error> where
    P: Plugin<Self>,
    Self: Extensible,
    <P as Key>::Value: Clone,
    <P as Key>::Value: Any
[src]

Return a copy of the plugin's produced value. Read more

fn get_ref<P>(
    &mut self
) -> Result<&<P as Key>::Value, <P as Plugin<Self>>::Error> where
    P: Plugin<Self>,
    Self: Extensible,
    <P as Key>::Value: Any
[src]

Return a reference to the plugin's produced value. Read more

fn get_mut<P>(
    &mut self
) -> Result<&mut <P as Key>::Value, <P as Plugin<Self>>::Error> where
    P: Plugin<Self>,
    Self: Extensible,
    <P as Key>::Value: Any
[src]

Return a mutable reference to the plugin's produced value. Read more

fn compute<P>(
    &mut self
) -> Result<<P as Key>::Value, <P as Plugin<Self>>::Error> where
    P: Plugin<Self>, 
[src]

Create and evaluate a once-off instance of a plugin.

Auto Trait Implementations

impl<'mw, 'server, D = ()> !Send for Request<'mw, 'server, D>

impl<'mw, 'server, D = ()> !Sync for Request<'mw, 'server, D>

Blanket Implementations

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

impl<T> From for T
[src]

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

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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

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

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

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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

impl<T> Typeable for T where
    T: Any

fn get_type(&self) -> TypeId

Get the TypeId of this object.

impl<T> UnsafeAny for T where
    T: Any