pub struct ResourceFiles { /* private fields */ }
Expand description

Static resource files handling

ResourceFiles service must be registered with App::service method.

use std::collections::HashMap;

use actix_web::App;

fn main() {
// serve root directory with default options:
// - resolve index.html
    let files: HashMap<&'static str, static_files::Resource> = HashMap::new();
    let app = App::new()
        .service(actix_web_static_files::ResourceFiles::new("/", files));
// or subpath with additional option to not resolve index.html
    let files: HashMap<&'static str, static_files::Resource> = HashMap::new();
    let app = App::new()
        .service(actix_web_static_files::ResourceFiles::new("/imgs", files)
            .do_not_resolve_defaults());
}

Implementations§

source§

impl ResourceFiles

source

pub fn new(path: &str, files: HashMap<&'static str, Resource>) -> Self

source

pub fn do_not_resolve_defaults(self) -> Self

By default trying to resolve ‘…/’ to ‘…/index.html’ if it exists. Turn off this resolution by calling this function.

source

pub fn resolve_not_found_to<S: ToString>(self, path: S) -> Self

Resolves not found references to this path.

This can be useful for angular-like applications.

source

pub fn resolve_not_found_to_root(self) -> Self

Resolves not found references to root path.

This can be useful for angular-like applications.

source

pub fn skip_handler_when_not_found(self) -> Self

If this is called, we will use an actix_web::guard::Guard to check if this request should be handled. If set to true, we skip using the handler for files that haven’t been found, instead of sending 404s. Would be ignored, if resolve_not_found_to or resolve_not_found_to_root is used.

Can be useful if you want to share files on a (sub)path that’s also used by a different route handler.

Trait Implementations§

source§

impl Deref for ResourceFiles

§

type Target = ResourceFilesInner

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl HttpServiceFactory for ResourceFiles

source§

fn register(self, config: &mut AppService)

source§

impl ServiceFactory<ServiceRequest> for ResourceFiles

§

type Config = ()

Service factory configuration.
§

type Response = ServiceResponse<BoxBody>

Responses given by the created services.
§

type Error = Error

Errors produced by the created services.
§

type Service = ResourceFilesService

The kind of Service created by this factory.
§

type InitError = ()

Errors potentially raised while building a service.
§

type Future = Pin<Box<dyn Future<Output = Result<<ResourceFiles as ServiceFactory<ServiceRequest>>::Service, <ResourceFiles as ServiceFactory<ServiceRequest>>::InitError>> + 'static, Global>>

The future of the Service instance.g
source§

fn new_service(&self, _: ()) -> Self::Future

Create and return a new service asynchronously.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

const: unstable · source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

const: unstable · source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for Twhere U: From<T>,

const: unstable · source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<SF, Req> IntoServiceFactory<SF, Req> for SFwhere SF: ServiceFactory<Req>,

§

fn into_factory(self) -> SF

Convert Self to a ServiceFactory
source§

impl<T> Same<T> for T

§

type Output = T

Should always be Self
§

impl<SF, Req> ServiceFactoryExt<Req> for SFwhere SF: ServiceFactory<Req>,

§

fn map<F, R>(self, f: F) -> MapServiceFactory<Self, F, Req, R>where Self: Sized, F: FnMut(Self::Response) -> R + Clone,

Map this service’s output to a different type, returning a new service of the resulting type.
§

fn map_err<F, E>(self, f: F) -> MapErrServiceFactory<Self, Req, F, E>where Self: Sized, F: Fn(Self::Error) -> E + Clone,

Map this service’s error to a different error, returning a new service.
§

fn map_init_err<F, E>(self, f: F) -> MapInitErr<Self, F, Req, E>where Self: Sized, F: Fn(Self::InitError) -> E + Clone,

Map this factory’s init error to a different error, returning a new service.
§

fn and_then<I, SF1>(self, factory: I) -> AndThenServiceFactory<Self, SF1, Req>where Self: Sized, Self::Config: Clone, I: IntoServiceFactory<SF1, Self::Response>, SF1: ServiceFactory<Self::Response, Config = Self::Config, Error = Self::Error, InitError = Self::InitError>,

Call another service after call to this one has resolved successfully.
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
const: unstable · source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

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

§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more