Struct rocket_contrib::serve::StaticFiles [−][src]
pub struct StaticFiles { /* fields omitted */ }Expand description
Custom handler for serving static files.
This handler makes it simple to serve static files from a directory on the
local file system. To use it, construct a StaticFiles using either
StaticFiles::from() or StaticFiles::new() then simply mount the
handler at a desired path. When mounted, the handler will generate route(s)
that serve the desired static files.
Options
The handler’s functionality can be customized by passing an Options to
StaticFiles::new(). Additionally, the rank of generate routes, which
defaults to 10, can be set via the StaticFiles::rank() builder method.
Example
To serve files from the /static directory at the /public path, allowing
index.html files to be used to respond to requests for a directory (the
default), you might write the following:
use rocket_contrib::serve::StaticFiles;
fn main() {
rocket::ignite()
.mount("/public", StaticFiles::from("/static"))
.launch();
}With this set-up, requests for files at /public/<path..> will be handled
by returning the contents of /static/<path..>. Requests for directories
at /public/<directory> will be handled by returning the contents of
/static/<directory>/index.html.
If your static files are stored relative to your crate and your project is
managed by Cargo, you should either use a relative path and ensure that your
server is started in the crate’s root directory or use the
CARGO_MANIFEST_DIR to create an absolute path relative to your crate root.
For example, to serve files in the static subdirectory of your crate at
/, you might write:
use rocket_contrib::serve::StaticFiles;
fn main() {
rocket::ignite()
.mount("/", StaticFiles::from(concat!(env!("CARGO_MANIFEST_DIR"), "/static")))
.launch();
}Implementations
Constructs a new StaticFiles that serves files from the file system
path. By default, Options::Index is set, and the generated routes
have a rank of 10. To serve static files with other options, use
StaticFiles::new(). To choose a different rank for generated routes,
use StaticFiles::rank().
Example
Serve the static files in the /www/public local directory on path
/static.
use rocket_contrib::serve::StaticFiles;
fn main() {
rocket::ignite()
.mount("/static", StaticFiles::from("/www/public"))
.launch();
}Exactly as before, but set the rank for generated routes to 30.
use rocket_contrib::serve::StaticFiles;
fn main() {
rocket::ignite()
.mount("/static", StaticFiles::from("/www/public").rank(30))
.launch();
}Constructs a new StaticFiles that serves files from the file system
path with options enabled. By default, the handler’s routes have a
rank of 10. To choose a different rank, use StaticFiles::rank().
Example
Serve the static files in the /www/public local directory on path
/static without serving index files or dot files. Additionally, serve
the same files on /pub with a route rank of -1 while also serving
index files and dot files.
use rocket_contrib::serve::{StaticFiles, Options};
fn main() {
let options = Options::Index | Options::DotFiles;
rocket::ignite()
.mount("/static", StaticFiles::from("/www/public"))
.mount("/pub", StaticFiles::new("/www/public", options).rank(-1))
.launch();
}Sets the rank for generated routes to rank.
Example
use rocket_contrib::serve::{StaticFiles, Options};
// A `StaticFiles` created with `from()` with routes of rank `3`.
StaticFiles::from("/public").rank(3);
// A `StaticFiles` created with `new()` with routes of rank `-15`.
StaticFiles::new("/public", Options::Index).rank(-15);Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for StaticFiles
impl Send for StaticFiles
impl Sync for StaticFiles
impl Unpin for StaticFiles
impl UnwindSafe for StaticFiles
Blanket Implementations
Mutably borrows from an owned value. Read more
Clones self.