[][src]Struct hyper_staticfile::Static

pub struct Static {
    pub root: PathBuf,
    pub cache_headers: Option<u32>,
}

High-level interface for serving static files.

This struct serves files from a single root path, which may be absolute or relative. The request is mapped onto the filesystem by appending their URL path to the root path. If the filesystem path corresponds to a regular file, the service will attempt to serve it. Otherwise, if the path corresponds to a directory containing an index.html, the service will attempt to serve that instead.

This struct allows direct access to its fields, but these fields are typically initialized by the accessors, using the builder pattern. The fields are basically a bunch of settings that determine the response details.

This struct also implements the hyper::Service trait, which simply wraps Static::serve. Note that using the trait currently involves an extra Box.

Fields

root: PathBuf

The root directory path to serve files from.

cache_headers: Option<u32>

Whether to send cache headers, and what lifespan to indicate.

Implementations

impl Static[src]

pub fn new(root: impl Into<PathBuf>) -> Self[src]

Create a new instance of Static with a given root path.

If Path::new("") is given, files will be served from the current directory.

pub fn cache_headers(&mut self, value: Option<u32>) -> &mut Self[src]

Add cache headers to responses for the given lifespan.

pub async fn serve<B>(
    self,
    request: Request<B>
) -> Result<Response<Body>, IoError>
[src]

Serve a request.

Trait Implementations

impl Clone for Static[src]

impl<B: Send + Sync + 'static> Service<Request<B>> for Static[src]

type Response = Response<Body>

Responses given by the service.

type Error = IoError

Errors produced by the service.

type Future = Pin<Box<dyn Future<Output = Result<Self::Response, Self::Error>> + Send>>

The future response value.

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.