Struct actix_files::Files[][src]

pub struct Files { /* fields omitted */ }

Static files handling service.

Files service must be registered with App::service() method.

use actix_web::App;
use actix_files::Files;

let app = App::new()
    .service(Files::new("/static", "."));

Implementations

impl Files[src]

pub fn new<T: Into<PathBuf>>(mount_path: &str, serve_from: T) -> Files[src]

Create new Files instance for a specified base directory.

Argument Order

The first argument (mount_path) is the root URL at which the static files are served. For example, /assets will serve files at example.com/assets/....

The second argument (serve_from) is the location on disk at which files are loaded. This can be a relative path. For example, ./ would serve files from the current working directory.

Implementation Notes

If the mount path is set as the root path /, services registered after this one will be inaccessible. Register more specific handlers and services first.

Files uses a threadpool for blocking filesystem operations. By default, the pool uses a max number of threads equal to 512 * HttpServer::worker. Real time thread count are adjusted with work load. More threads would spawn when need and threads goes idle for a period of time would be de-spawned.

pub fn show_files_listing(self) -> Self[src]

Show files listing for directories.

By default show files listing is disabled.

pub fn redirect_to_slash_directory(self) -> Self[src]

Redirects to a slash-ended path when browsing a directory.

By default never redirect.

pub fn files_listing_renderer<F>(self, f: F) -> Self where
    F: Fn(&'r Directory, &'s HttpRequest) -> Result<ServiceResponse, Error> + 'static, 
[src]

Set custom directory renderer

pub fn mime_override<F>(self, f: F) -> Self where
    F: Fn(&Name<'_>) -> DispositionType + 'static, 
[src]

Specifies mime override callback

pub fn index_file<T: Into<String>>(self, index: T) -> Self[src]

Set index file

Shows specific index file for directory “/” instead of showing files listing.

pub fn use_etag(self, value: bool) -> Self[src]

Specifies whether to use ETag or not.

Default is true.

pub fn use_last_modified(self, value: bool) -> Self[src]

Specifies whether to use Last-Modified or not.

Default is true.

pub fn prefer_utf8(self, value: bool) -> Self[src]

Specifies whether text responses should signal a UTF-8 encoding.

Default is false (but will default to true in a future version).

pub fn use_guards<G: Guard + 'static>(self, guards: G) -> Self[src]

Specifies custom guards to use for directory listings and files.

Default behaviour allows GET and HEAD.

pub fn disable_content_disposition(self) -> Self[src]

Disable Content-Disposition header.

By default Content-Disposition` header is enabled.

pub fn default_handler<F, U>(self, f: F) -> Self where
    F: IntoServiceFactory<U, ServiceRequest>,
    U: ServiceFactory<ServiceRequest, Config = (), Response = ServiceResponse, Error = Error> + 'static, 
[src]

Sets default handler which is used when no matched file could be found.

pub fn use_hidden_files(self) -> Self[src]

Enables serving hidden files and directories, allowing a leading dots in url fragments.

Trait Implementations

impl Clone for Files[src]

impl Debug for Files[src]

impl HttpServiceFactory for Files[src]

impl ServiceFactory<ServiceRequest> for Files[src]

type Response = ServiceResponse

Responses given by the created services.

type Error = Error

Errors produced by the created services.

type Config = ()

Service factory configuration.

type Service = FilesService

The kind of Service created by this factory.

type InitError = ()

Errors potentially raised while building a service.

type Future = LocalBoxFuture<'static, Result<Self::Service, Self::InitError>>

The future of the Service instance.

Auto Trait Implementations

impl !RefUnwindSafe for Files

impl !Send for Files

impl !Sync for Files

impl Unpin for Files

impl !UnwindSafe for Files

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<SF, Req> IntoServiceFactory<SF, Req> for SF where
    SF: ServiceFactory<Req>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<SF, Req> ServiceFactoryExt<Req> for SF where
    SF: ServiceFactory<Req>, 
[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.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,