diff --git a/Cargo.lock b/Cargo.lock index 8860c48..81af35d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -17,15 +17,6 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "512761e0bb2578dd7380c6baaa0f4ce03e84f95e960231d1dec8bf4d7d6e2627" -[[package]] -name = "aho-corasick" -version = "1.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e60d3430d3a69478ad0993f19238d2df97c507009a52b3c10addcd7f6bcb916" -dependencies = [ - "memchr", -] - [[package]] name = "axum" version = "0.8.1" @@ -127,12 +118,8 @@ dependencies = [ "minijinja", "notify", "serde", - "thiserror", "tokio", - "tower-http", "tower-livereload", - "tracing", - "tracing-subscriber", ] [[package]] @@ -337,12 +324,6 @@ dependencies = [ "libc", ] -[[package]] -name = "lazy_static" -version = "1.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" - [[package]] name = "libc" version = "0.2.169" @@ -366,15 +347,6 @@ version = "0.4.25" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "04cbf5b083de1c7e0222a7a51dbfdba1cbe1c6ab0b15e29fff3f6c077fd9cd9f" -[[package]] -name = "matchers" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" -dependencies = [ - "regex-automata 0.1.10", -] - [[package]] name = "matchit" version = "0.8.4" @@ -448,16 +420,6 @@ version = "2.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5e0826a989adedc2a244799e823aece04662b66609d96af8dff7ac6df9a8925d" -[[package]] -name = "nu-ansi-term" -version = "0.46.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" -dependencies = [ - "overload", - "winapi", -] - [[package]] name = "object" version = "0.36.7" @@ -473,12 +435,6 @@ version = "1.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "945462a4b81e43c4e3ba96bd7b49d834c6f61198356aa858733bc4acf3cbe62e" -[[package]] -name = "overload" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" - [[package]] name = "percent-encoding" version = "2.3.1" @@ -524,50 +480,6 @@ dependencies = [ "bitflags 2.8.0", ] -[[package]] -name = "regex" -version = "1.11.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b544ef1b4eac5dc2db33ea63606ae9ffcfac26c1416a2806ae0bf5f56b201191" -dependencies = [ - "aho-corasick", - "memchr", - "regex-automata 0.4.9", - "regex-syntax 0.8.5", -] - -[[package]] -name = "regex-automata" -version = "0.1.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" -dependencies = [ - "regex-syntax 0.6.29", -] - -[[package]] -name = "regex-automata" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "809e8dc61f6de73b46c85f4c96486310fe304c434cfa43669d7b40f711150908" -dependencies = [ - "aho-corasick", - "memchr", - "regex-syntax 0.8.5", -] - -[[package]] -name = "regex-syntax" -version = "0.6.29" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" - -[[package]] -name = "regex-syntax" -version = "0.8.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b15c43186be67a4fd63bee50d0303afffcef381492ebe2c5d87f324e1b8815c" - [[package]] name = "rustc-demangle" version = "0.1.24" @@ -649,15 +561,6 @@ dependencies = [ "serde", ] -[[package]] -name = "sharded-slab" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" -dependencies = [ - "lazy_static", -] - [[package]] name = "smallvec" version = "1.13.2" @@ -691,36 +594,6 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0bf256ce5efdfa370213c1dabab5935a12e49f2c58d15e9eac2870d3b4f27263" -[[package]] -name = "thiserror" -version = "2.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d452f284b73e6d76dd36758a0c8684b1d5be31f92b89d07fd5822175732206fc" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "2.0.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26afc1baea8a989337eeb52b6e72a039780ce45c3edfcc9c5b9d112feeb173c2" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - -[[package]] -name = "thread_local" -version = "1.1.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" -dependencies = [ - "cfg-if", - "once_cell", -] - [[package]] name = "tokio" version = "1.43.0" @@ -763,22 +636,6 @@ dependencies = [ "tracing", ] -[[package]] -name = "tower-http" -version = "0.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "403fa3b783d4b626a8ad51d766ab03cb6d2dbfc46b1c5d4448395e6628dc9697" -dependencies = [ - "bitflags 2.8.0", - "bytes", - "http", - "http-body", - "pin-project-lite", - "tower-layer", - "tower-service", - "tracing", -] - [[package]] name = "tower-layer" version = "0.3.3" @@ -813,21 +670,9 @@ checksum = "784e0ac535deb450455cbfa28a6f0df145ea1bb7ae51b821cf5e7927fdcfbdd0" dependencies = [ "log", "pin-project-lite", - "tracing-attributes", "tracing-core", ] -[[package]] -name = "tracing-attributes" -version = "0.1.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "395ae124c09f9e6918a2310af6038fba074bcf474ac352496d5910dd59a2226d" -dependencies = [ - "proc-macro2", - "quote", - "syn", -] - [[package]] name = "tracing-core" version = "0.1.33" @@ -835,36 +680,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e672c95779cf947c5311f83787af4fa8fffd12fb27e4993211a84bdfd9610f9c" dependencies = [ "once_cell", - "valuable", -] - -[[package]] -name = "tracing-log" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee855f1f400bd0e5c02d150ae5de3840039a3f54b025156404e34c23c03f47c3" -dependencies = [ - "log", - "once_cell", - "tracing-core", -] - -[[package]] -name = "tracing-subscriber" -version = "0.3.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008" -dependencies = [ - "matchers", - "nu-ansi-term", - "once_cell", - "regex", - "sharded-slab", - "smallvec", - "thread_local", - "tracing", - "tracing-core", - "tracing-log", ] [[package]] @@ -873,12 +688,6 @@ version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a210d160f08b701c8721ba1c726c11662f877ea6b7094007e1ca9a1041945034" -[[package]] -name = "valuable" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba73ea9cf16a25df0c8caa16c51acb937d5712a8429db78a3ee29d5dcacd3a65" - [[package]] name = "walkdir" version = "2.5.0" @@ -895,22 +704,6 @@ version = "0.11.0+wasi-snapshot-preview1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - [[package]] name = "winapi-util" version = "0.1.9" @@ -920,12 +713,6 @@ dependencies = [ "windows-sys 0.59.0", ] -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - [[package]] name = "windows-sys" version = "0.52.0" diff --git a/Cargo.toml b/Cargo.toml index e04800e..ce91065 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,9 +8,5 @@ axum = "0.8.1" minijinja = "2.7.0" notify = "8.0.0" serde = "1.0.217" -thiserror = "2.0.11" tokio = { version = "1.43.0", features = ["macros", "rt-multi-thread"] } -tower-http = { version = "0.6.2", features = ["trace"] } tower-livereload = "0.9.6" -tracing = "0.1.41" -tracing-subscriber = { version = "0.3.19", features = ["env-filter"] } diff --git a/src/error.rs b/src/error.rs deleted file mode 100644 index d4fc4fb..0000000 --- a/src/error.rs +++ /dev/null @@ -1,39 +0,0 @@ -use axum::response::Html; -use axum::{http::StatusCode, response::IntoResponse}; - -pub type Result = std::result::Result; - -pub type ResultTemplate = std::result::Result, Error>; - -#[derive(thiserror::Error, Debug)] -pub enum Error { - #[error("Unhandled error: {0}")] - Generic(String), - - #[error("Unhandled error: {0}")] - Static(&'static str), - - #[error(transparent)] - IO(#[from] std::io::Error), - - #[error(transparent)] - Template(#[from] minijinja::Error), - - #[error("Error in runtime execution: {0}")] - Runtime(&'static str), - // #[error(transparent)] - // DatabaseOperation(#[from] sqlx::Error), -} - -impl IntoResponse for Error { - fn into_response(self) -> axum::response::Response { - let (status, message) = match self { - _ => ( - StatusCode::INTERNAL_SERVER_ERROR, - "An unexpected error has ocurred!", - ), - }; - - (status, message).into_response() - } -} diff --git a/src/lib.rs b/src/lib.rs deleted file mode 100644 index 4163390..0000000 --- a/src/lib.rs +++ /dev/null @@ -1,3 +0,0 @@ -mod error; - -pub use error::{Error, Result, ResultTemplate}; diff --git a/src/main.rs b/src/main.rs index 6a65d79..6835694 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,6 +1,3 @@ -#![allow(unused)] -#![allow(dead_code)] - use std::sync::Arc; use axum::extract::State; @@ -8,53 +5,37 @@ use axum::http::StatusCode; use axum::response::Html; use axum::routing::get; use axum::Router; -use compendium::{Result, ResultTemplate}; use minijinja::{context, Environment}; -use tower_http::trace::TraceLayer; -use tracing::info; -use tracing_subscriber::{layer::SubscriberExt, util::SubscriberInitExt}; struct AppState { tmpl_env: Environment<'static>, } #[tokio::main] -async fn main() -> Result<()> { - // Logs - tracing_subscriber::registry() - .with( - tracing_subscriber::EnvFilter::try_from_default_env().unwrap_or_else(|_| { - format!("{}=debug,tower_http=debug", env!("CARGO_CRATE_NAME")).into() - }), - ) - .with(tracing_subscriber::fmt::layer()) - .init(); - +async fn main() { let mut tmpl_env = Environment::new(); - tmpl_env.add_template("base", include_str!("../templates/base.html"))?; + tmpl_env + .add_template("base", include_str!("../templates/base.html")) + .unwrap(); let app_state = Arc::new(AppState { tmpl_env }); let app = Router::new() .route("/", get(handler_home)) - .layer(TraceLayer::new_for_http().on_request(())) .with_state(app_state); // Add hot reload only on dev mode #[cfg(debug_assertions)] let app = app.layer(tower_livereload::LiveReloadLayer::new()); - let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await?; - info!("listening on {}", listener.local_addr()?); - - axum::serve(listener, app).await?; - Ok(()) + let listener = tokio::net::TcpListener::bind("0.0.0.0:3000").await.unwrap(); + axum::serve(listener, app).await.unwrap(); } -async fn handler_home(State(state): State>) -> ResultTemplate { - let template = state.tmpl_env.get_template("base")?; +async fn handler_home(State(state): State>) -> Result, StatusCode> { + let template = state.tmpl_env.get_template("base").unwrap(); - let content = template.render(context!())?; + let content = template.render(context!()).unwrap(); Ok(Html(content)) }