Expand description
§Include Static Resources for Rocket Framework
This is a crate which provides macros static_resources_initializer! and static_response_handler! to statically include files from your Rust project and make them be the HTTP response sources quickly.
§Example
ⓘ
#[macro_use]
extern crate rocket;
#[macro_use]
extern crate rocket_include_static_resources;
use rocket::State;
use rocket_include_static_resources::{EtagIfNoneMatch, StaticContextManager, StaticResponse};
static_response_handler! {
"/favicon.ico" => favicon => "favicon",
"/favicon-16.png" => favicon_png => "favicon-png",
}
#[get("/")]
fn index(
static_resources: &State<StaticContextManager>,
etag_if_none_match: EtagIfNoneMatch,
) -> StaticResponse {
static_resources.build(&etag_if_none_match, "html-readme")
}
#[launch]
fn rocket() -> _ {
rocket::build()
.attach(static_resources_initializer!(
"favicon" => "examples/front-end/images/favicon.ico",
"favicon-png" => "examples/front-end/images/favicon-16.png",
"html-readme" => ("examples", "front-end", "html", "README.html"),
))
.mount("/", routes![favicon, favicon_png])
.mount("/", routes![index])
}static_resources_initializer!is used for including files into your executable binary file. You need to specify each file’s name and its path relative to the directory containing the manifest of your package. For instance, the above example uses favicon to represent the file included-static-resources/favicon.ico and favicon_png to represent the file included-static-resources/favicon.png. A name cannot be repeating. In order to reduce the compilation time and allow to hot-reload resources, files are compiled into your executable binary file together, only when you are using the release profile.static_response_handler!is used for quickly creating GET route handlers to retrieve static resources.
Macros§
- cached_
static_ response_ handler cache - Used for quickly creating GET route handlers to retrieve static resources with cache control.
- static_
resources_ initialize Debug-assertions enabled - Used in the fairing of
StaticResponseto include static files into your executable binary file. You need to specify each file’s name and its path relative to the directory containing the manifest of your package. In order to reduce the compilation time and allow to hot-reload resources, files are compiled into your executable binary file together, only when you are using the release profile. - static_
resources_ initializer - Used for generating a fairing for static resources.
- static_
response_ handler - Used for quickly creating GET route handlers to retrieve static resources.
Structs§
- Cache
Control cache - The directives of a
Cache-Controlresponse header. - Cache
Response cache - The responder with a
Cache-Controlheader. - Entity
Tag - An entity tag, defined in RFC7232.
- Etag
IfNone Match - The request guard used for getting
if-none-matchheader. - File
Resources Debug-assertions enabled - Reloadable file resources.
- Static
Context Manager Debug-assertions enabled - To monitor the state of static resources.
- Static
Response Debug-assertions enabled - To respond a static resource.
- Static
Response Fairing Debug-assertions enabled - The fairing of
StaticResponse.