diff --git a/src/orangutan-server/src/main.rs b/src/orangutan-server/src/main.rs index 4a82e89..a5a7e93 100644 --- a/src/orangutan-server/src/main.rs +++ b/src/orangutan-server/src/main.rs @@ -17,17 +17,15 @@ use orangutan_helpers::{ website_id::WebsiteId, }; use request_guards::{handle_refresh_token, REVOKED_TOKENS}; -use tera::Tera; use tokio::runtime::Handle; use tower::Service; use tower_http::{ services::{fs::ServeFileSystemResponseBody, ServeFile}, trace::TraceLayer, }; -#[cfg(feature = "templating")] -use tracing::debug; -use tracing::{info, warn}; +use tracing::{debug, info, warn}; use tracing_subscriber::EnvFilter; +#[cfg(feature = "token-generator")] use util::WebsiteRoot; #[cfg(feature = "templating")] @@ -36,13 +34,15 @@ use crate::{config::NOT_FOUND_FILE, routes::update_content_routes, util::error}; #[derive(Clone)] struct AppState { + #[cfg(feature = "token-generator")] website_root: WebsiteRoot, #[cfg(feature = "templating")] - tera: Tera, + tera: tera::Tera, } #[tokio::main] async fn main() -> ExitCode { + #[cfg(feature = "token-generator")] let website_root = match WebsiteRoot::try_from_env() { Ok(r) => r, Err(err) => { @@ -51,7 +51,8 @@ async fn main() -> ExitCode { }, }; - let mut app_state = AppState { + let app_state = AppState { + #[cfg(feature = "token-generator")] website_root, #[cfg(feature = "templating")] tera: Default::default(), @@ -64,6 +65,8 @@ async fn main() -> ExitCode { // Add support for templating if needed #[cfg(feature = "templating")] + let mut app_state = app_state; + #[cfg(feature = "templating")] { info!("Initializing templating engineā€¦"); if let Err(err) = app_state.tera.add_raw_templates(routes::templates()) { @@ -163,7 +166,6 @@ enum Error { #[cfg(feature = "templating")] #[error("Templating error: {0}")] TemplatingError(#[from] templating::Error), - #[cfg(feature = "templating")] #[error("Internal server error: {0}")] InternalServerError(String), #[error("Client error: {0}")] diff --git a/src/orangutan-server/src/routes/debug_routes.rs b/src/orangutan-server/src/routes/debug_routes.rs index f068926..a562884 100644 --- a/src/orangutan-server/src/routes/debug_routes.rs +++ b/src/orangutan-server/src/routes/debug_routes.rs @@ -23,12 +23,15 @@ lazy_static! { } pub(super) fn router() -> Router { - let mut router = Router::::new() + let router = Router::::new() .route("/clear-cookies", get(clear_cookies).put(clear_cookies)) .route("/_info", get(get_user_info)) .route("/_errors", get(errors)) .route("/_access-logs", get(access_logs)) .route("/_revoked-tokens", get(revoked_tokens)); + + #[cfg(feature = "token-generator")] + let mut router = router; #[cfg(feature = "token-generator")] { router = router.route( @@ -36,6 +39,7 @@ pub(super) fn router() -> Router { get(token_generator::token_generation_form).post(token_generator::generate_token), ); } + router }