pub struct AdHoc { /* private fields */ }
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§
Source§impl AdHoc
impl AdHoc
Sourcepub fn on_attach<F>(name: &'static str, f: F) -> AdHoc
pub fn on_attach<F>(name: &'static str, f: F) -> AdHoc
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));
Sourcepub fn on_launch<F>(name: &'static str, f: F) -> AdHoc
pub fn on_launch<F>(name: &'static str, f: F) -> AdHoc
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..");
});
Sourcepub fn on_request<F>(name: &'static str, f: F) -> AdHoc
pub fn on_request<F>(name: &'static str, f: F) -> AdHoc
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...
});
Sourcepub fn on_response<F>(name: &'static str, f: F) -> AdHoc
pub fn on_response<F>(name: &'static str, f: F) -> AdHoc
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...
});