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
impl StaticFiles
[src]
impl StaticFiles
[src]pub fn from<P: AsRef<Path>>(path: P) -> Self
[src]
pub fn from<P: AsRef<Path>>(path: P) -> Self
[src]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(); }
pub fn new<P: AsRef<Path>>(path: P, options: Options) -> Self
[src]
pub fn new<P: AsRef<Path>>(path: P, options: Options) -> Self
[src]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(); }
pub fn rank(self, rank: isize) -> Self
[src]
pub fn rank(self, rank: isize) -> Self
[src]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
impl Clone for StaticFiles
[src]
impl Clone for StaticFiles
[src]fn clone(&self) -> StaticFiles
[src]
fn clone(&self) -> StaticFiles
[src]Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]Performs copy-assignment from source
. Read more
impl Handler for StaticFiles
[src]
impl Handler for StaticFiles
[src]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
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> Cloneable for T where
T: Handler + Clone,
[src]
impl<T> Cloneable for T where
T: Handler + Clone,
[src]pub fn clone_handler(&self) -> Box<dyn Handler + 'static, Global>
[src]
pub fn clone_handler(&self) -> Box<dyn Handler + 'static, Global>
[src]Clones self
.
impl<T> IntoCollection<T> for T
impl<T> IntoCollection<T> for T
pub fn into_collection<A>(self) -> SmallVec<A> where
A: Array<Item = T>,
pub fn into_collection<A>(self) -> SmallVec<A> where
A: Array<Item = T>,
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>,
F: FnMut(T) -> U,
A: Array<Item = U>,
impl<T> IntoSql for T
[src]
impl<T> IntoSql for T
[src]fn into_sql<T>(self) -> Self::Expression where
Self: AsExpression<T>,
[src]
fn into_sql<T>(self) -> Self::Expression where
Self: AsExpression<T>,
[src]Convert self
to an expression for Diesel’s query builder. Read more
fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression where
&'a Self: AsExpression<T>,
[src]
fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression where
&'a Self: AsExpression<T>,
[src]Convert &self
to an expression for Diesel’s query builder. Read more
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,