Type Alias BoxedHandler

Source
pub type BoxedHandler = BoxCloneSyncService<Request, Response, Error>;
Expand description

A wrapper around a handler that’s used in Bootstrapper.

It is returned by Bootstrapper::into_context_and_handler. Typically, you don’t need to interact with this type directly, except for creating it in Project::middlewares through the RootHandlerBuilder::build. method.

§Examples

use cot::config::ProjectConfig;
use cot::project::{RootHandlerBuilder, WithApps};
use cot::static_files::StaticFilesMiddleware;
use cot::{Bootstrapper, BoxedHandler, Project, ProjectContext};

struct MyProject;
impl Project for MyProject {
    fn middlewares(
        &self,
        handler: RootHandlerBuilder,
        context: &ProjectContext<WithApps>,
    ) -> BoxedHandler {
        handler
            .middleware(StaticFilesMiddleware::from_context(context))
            .build()
    }
}

let bootstrapper = Bootstrapper::new(MyProject)
    .with_config(ProjectConfig::default())
    .boot()
    .await?;
let (context, handler) = bootstrapper.into_context_and_handler();

Aliased Type§

struct BoxedHandler(/* private fields */);