From 6e8d35379cac7aa8e32a7740acef436f198d188d Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Wed, 29 Sep 2021 10:15:19 -0700 Subject: [PATCH] Remove session and errors middleware from static route Co-Authored-By: Antonio Scandurra Co-Authored-By: Nathan Sobo --- server/src/assets.rs | 8 +++----- server/src/main.rs | 11 ++++++++--- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/server/src/assets.rs b/server/src/assets.rs index 4e79af8c600d2b2766b5dc6170aaec38d37ba006..ac0b261bd779e59faa26046f786f8149de96fe30 100644 --- a/server/src/assets.rs +++ b/server/src/assets.rs @@ -1,18 +1,16 @@ -use crate::{AppState, Request}; use anyhow::anyhow; use rust_embed::RustEmbed; -use std::sync::Arc; use tide::{http::mime, Server}; #[derive(RustEmbed)] #[folder = "static"] struct Static; -pub fn add_routes(app: &mut Server>) { - app.at("/static/*path").get(get_static_asset); +pub fn add_routes(app: &mut Server<()>) { + app.at("/*path").get(get_static_asset); } -async fn get_static_asset(request: Request) -> tide::Result { +async fn get_static_asset(request: tide::Request<()>) -> tide::Result { let path = request.param("path").unwrap(); let content = Static::get(path).ok_or_else(|| anyhow!("asset not found at {}", path))?; diff --git a/server/src/main.rs b/server/src/main.rs index ac01561f2fb9c39adad84c89bc070bf0e00485a3..49b9a76cf9977169b29daf5d1062f6a505c32303 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -1,16 +1,16 @@ mod admin; mod assets; mod auth; +mod community; mod db; mod env; mod errors; mod expiring; mod github; mod home; +mod releases; mod rpc; mod team; -mod releases; -mod community; use self::errors::TideResultExt as _; use anyhow::Result; @@ -179,11 +179,16 @@ pub async fn run_server( community::add_routes(&mut web); admin::add_routes(&mut web); auth::add_routes(&mut web); - assets::add_routes(&mut web); + + let mut assets = tide::new(); + assets.with(CompressMiddleware::new()); + assets::add_routes(&mut assets); let mut app = tide::with_state(state.clone()); rpc::add_routes(&mut app, &rpc); + app.at("/").nest(web); + app.at("/static").nest(assets); app.listen(listener).await?;