Struct rocket::fairing::AdHoc [−][src]
pub struct AdHoc { /* fields omitted */ }Expand description
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); }));
Implementations
impl AdHoc[src]
impl AdHoc[src]pub fn on_attach<F>(name: &'static str, f: F) -> AdHoc where
F: FnOnce(Rocket) -> Result<Rocket, Rocket> + Send + 'static, [src]
pub fn on_attach<F>(name: &'static str, f: F) -> AdHoc where
F: FnOnce(Rocket) -> Result<Rocket, Rocket> + Send + 'static, [src]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]
pub fn on_launch<F>(name: &'static str, f: F) -> AdHoc where
F: FnOnce(&Rocket) + Send + 'static, [src]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]
pub fn on_request<F>(name: &'static str, f: F) -> AdHoc where
F: Fn(&mut Request<'_>, &Data) + Send + Sync + 'static, [src]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]
pub fn on_response<F>(name: &'static str, f: F) -> AdHoc where
F: Fn(&Request<'_>, &mut Response<'_>) + Send + Sync + 'static, [src]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
impl Fairing for AdHoc[src]
impl Fairing for AdHoc[src]fn on_attach(&self, rocket: Rocket) -> Result<Rocket, Rocket>[src]
fn on_attach(&self, rocket: Rocket) -> Result<Rocket, Rocket>[src]The attach callback. Returns Ok if launch should proceed and Err if
launch should be aborted. Read more
fn on_request(&self, request: &mut Request<'_>, data: &Data)[src]
fn on_request(&self, request: &mut Request<'_>, data: &Data)[src]The request callback. Read more
fn on_response(&self, request: &Request<'_>, response: &mut Response<'_>)[src]
fn on_response(&self, request: &Request<'_>, response: &mut Response<'_>)[src]The response callback. Read more
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> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<T> IntoCollection<T> for T[src]
impl<T> IntoCollection<T> for T[src]pub fn into_collection<A>(self) -> SmallVec<A> where
A: Array<Item = T>, [src]
pub fn into_collection<A>(self) -> SmallVec<A> where
A: Array<Item = T>, [src]Converts self into a collection.
pub fn mapped<U, F, A>(self, f: F) -> SmallVec<A> where
F: FnMut(T) -> U,
A: Array<Item = U>, [src]
F: FnMut(T) -> U,
A: Array<Item = U>,
impl<T> Same<T> for T
impl<T> Same<T> for Ttype Output = T
type Output = TShould always be Self
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,