Skip to main content

SpaMiddleware

Struct SpaMiddleware 

Source
pub struct SpaMiddleware { /* private fields */ }
Expand description

SPA static file middleware.

  • Matches /{filename} against local filesystem
  • Serves files with auto-detected MIME types
  • Falls back to index.html for unknown paths (SPA routing)
  • Only handles GET requests; non-GET passes through silently

Implementations§

Source§

impl SpaMiddleware

Source

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

Create a new SPA middleware with default index “index.html”.

The root path is resolved relative to the current working directory. If the directory doesn’t exist at that path, the middleware searches upward through ancestor directories and their immediate subdirectories, matching the strategy used by [config::load_appsettings].

Source

pub fn with_index(root: impl Into<PathBuf>, index: impl Into<String>) -> Self

Create a new SPA middleware with a custom index file name.

Trait Implementations§

Source§

impl IMiddleware for SpaMiddleware

Source§

fn invoke<'life0, 'life1, 'async_trait>( &'life0 self, ctx: &'life1 mut dyn IHttpContext, ) -> Pin<Box<dyn Future<Output = Result<()>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Process an HTTP request (before hook). Read more
Source§

fn after<'life0, 'life1, 'async_trait>( &'life0 self, _ctx: &'life1 mut dyn IHttpContext, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where 'life0: 'async_trait, 'life1: 'async_trait, Self: 'async_trait,

Called after the final handler has executed. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

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

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.

Source§

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

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.
Source§

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

Source§

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

The type returned in the event of a conversion error.
Source§

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

Performs the conversion.