pub struct Request<'mw, 'server: 'mw, D: 'mw = ()> {
pub origin: HyperRequest<'mw, 'server>,
pub route_result: Option<RouteResult<'mw, D>>,
/* private fields */
}
Expand description
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
Implementations
sourceimpl<'mw, 'server, D> Request<'mw, 'server, D>
impl<'mw, 'server, D> Request<'mw, 'server, D>
pub fn from_internal(
req: HyperRequest<'mw, 'server>,
data: &'mw D
) -> Request<'mw, 'server, D>
pub fn param(&self, key: &str) -> Option<&str>
pub fn path_without_query(&self) -> Option<&str>
pub fn server_data(&self) -> &'mw D
Trait Implementations
sourceimpl<'mw, 'server, D> Extensible for Request<'mw, 'server, D>
impl<'mw, 'server, D> Extensible for Request<'mw, 'server, D>
sourcefn extensions(&self) -> &TypeMap
fn extensions(&self) -> &TypeMap
Get a reference to the type’s extension storage.
sourcefn extensions_mut(&mut self) -> &mut TypeMap
fn extensions_mut(&mut self) -> &mut TypeMap
Get a mutable reference to the type’s extension storage.
sourceimpl<'mw, 'server, D> Pluggable for Request<'mw, 'server, D>
impl<'mw, 'server, D> Pluggable for Request<'mw, 'server, D>
sourcefn get<P>(&mut self) -> Result<<P as Key>::Value, <P as Plugin<Self>>::Error>where
P: Plugin<Self>,
<P as Key>::Value: Clone + Any,
Self: Extensible,
fn get<P>(&mut self) -> Result<<P as Key>::Value, <P as Plugin<Self>>::Error>where
P: Plugin<Self>,
<P as Key>::Value: Clone + Any,
Self: Extensible,
Return a copy of the plugin’s produced value. Read more
sourcefn get_ref<P>(
&mut self
) -> Result<&<P as Key>::Value, <P as Plugin<Self>>::Error>where
P: Plugin<Self>,
<P as Key>::Value: Any,
Self: Extensible,
fn get_ref<P>(
&mut self
) -> Result<&<P as Key>::Value, <P as Plugin<Self>>::Error>where
P: Plugin<Self>,
<P as Key>::Value: Any,
Self: Extensible,
Return a reference to the plugin’s produced value. Read more
sourceimpl<'mw, 'conn, D> QueryString for Request<'mw, 'conn, D>
impl<'mw, 'conn, D> QueryString for Request<'mw, 'conn, D>
sourceimpl<'mw, 'server, D> Referer for Request<'mw, 'server, D>
impl<'mw, 'server, D> Referer for Request<'mw, 'server, D>
sourcefn referer(&self) -> Option<&str>
fn referer(&self) -> Option<&str>
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);
}
Auto Trait Implementations
impl<'mw, 'server, D = ()> !RefUnwindSafe for Request<'mw, 'server, D>
impl<'mw, 'server, D = ()> !Send for Request<'mw, 'server, D>
impl<'mw, 'server, D = ()> !Sync for Request<'mw, 'server, D>
impl<'mw, 'server, D> Unpin for Request<'mw, 'server, D>where
'server: 'mw,
impl<'mw, 'server, D = ()> !UnwindSafe for Request<'mw, 'server, D>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more