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
.