[−][src]Struct rocket::fairing::AdHoc
A ad-hoc fairing that can be created from a function or closure.
This enum can be used to create a fairing from a simple function or closure
without creating a new structure or implementing Fairing
directly.
Usage
Use the on_attach
, on_launch
,
on_request
, or on_response
constructors to create an AdHoc
structure from a function or closure.
Then, simply attach the structure to the Rocket
instance.
Example
The following snippet creates a Rocket
instance with two ad-hoc fairings.
The first, a launch fairing named "Launch Printer", simply prints a message
indicating that the application is about to the launch. The second named
"Put Rewriter", a request fairing, rewrites the method of all requests to be
PUT
.
use rocket::fairing::AdHoc; use rocket::http::Method; rocket::ignite() .attach(AdHoc::on_launch("Launch Printer", |_| { println!("Rocket is about to launch! Exciting! Here we go..."); })) .attach(AdHoc::on_request("Put Rewriter", |req, _| { req.set_method(Method::Put); }));
Methods
impl AdHoc
[src]
pub fn on_attach<F>(name: &'static str, f: F) -> AdHoc where
F: FnOnce(Rocket) -> Result<Rocket, Rocket> + Send + 'static,
[src]
F: FnOnce(Rocket) -> Result<Rocket, Rocket> + Send + 'static,
Constructs an AdHoc
attach fairing named name
. The function f
will
be called by Rocket when this fairing is attached.
Example
use rocket::fairing::AdHoc; // The no-op attach fairing. let fairing = AdHoc::on_attach("No-Op", |rocket| Ok(rocket));
pub fn on_launch<F>(name: &'static str, f: F) -> AdHoc where
F: FnOnce(&Rocket) + Send + 'static,
[src]
F: FnOnce(&Rocket) + Send + 'static,
Constructs an AdHoc
launch fairing named name
. The function f
will
be called by Rocket just prior to launching.
Example
use rocket::fairing::AdHoc; // A fairing that prints a message just before launching. let fairing = AdHoc::on_launch("Launch Count", |rocket| { println!("Launching in T-3..2..1.."); });
pub fn on_request<F>(name: &'static str, f: F) -> AdHoc where
F: Fn(&mut Request, &Data) + Send + Sync + 'static,
[src]
F: Fn(&mut Request, &Data) + Send + Sync + 'static,
Constructs an AdHoc
request fairing named name
. The function f
will be called by Rocket when a new request is received.
Example
use rocket::fairing::AdHoc; // The no-op request fairing. let fairing = AdHoc::on_request("Dummy", |req, data| { // do something with the request and data... });
pub fn on_response<F>(name: &'static str, f: F) -> AdHoc where
F: Fn(&Request, &mut Response) + Send + Sync + 'static,
[src]
F: Fn(&Request, &mut Response) + Send + Sync + 'static,
Constructs an AdHoc
response fairing named name
. The function f
will be called by Rocket when a response is ready to be sent.
Example
use rocket::fairing::AdHoc; // The no-op response fairing. let fairing = AdHoc::on_response("Dummy", |req, resp| { // do something with the request and pending response... });
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for AdHoc
impl Send for AdHoc
impl Sync for AdHoc
impl Unpin for AdHoc
impl !UnwindSafe for AdHoc
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T, I> AsResult<T, I> for T where
I: Input,
[src]
I: Input,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> IntoCollection<T> for T
[src]
fn into_collection<A>(self) -> SmallVec<A> where
A: Array<Item = T>,
[src]
A: Array<Item = T>,
fn mapped<U, F, A>(self, f: F) -> SmallVec<A> where
A: Array<Item = U>,
F: FnMut(T) -> U,
[src]
A: Array<Item = U>,
F: FnMut(T) -> U,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Typeable for T where
T: Any,
[src]
T: Any,