Middleware & Security
Documentation / Middleware & Security / Builder Configuration

Builder Configuration

RuniqueApp::builder(config) is the single entry point. All middleware configuration goes through .middleware(|m| { ... }).

RuniqueApp::builder(config) is the single entry point. All middleware configuration goes through .middleware(|m| { ... }).

Full example

let app = RuniqueApp::builder(config)
    .routes(url::routes())
    .with_database(db)
    .middleware(|m| {
        m.with_csp(|c| {
              c.policy(SecurityPolicy::strict())
           })
         .with_allowed_hosts(|h| {
              h.host("mysite.com")
               .host("www.mysite.com")
           })
         .with_cache(true)
    })
    .statics()
    .build()
    .await?;

Conditional by environment

.middleware(|m| {
    m.with_csp(|c| c.policy(SecurityPolicy::strict()))
     .with_allowed_hosts(|h| h.host("mysite.com"))
})

RUNIQUE_ENV does the rest: with dev, hosts aren't validated and upgrade-insecure-requests is removed; with prod, both apply. For your own code, is_dev() gives the same answer.