diff --git a/html-router/src/middlewares/analytics_middleware.rs b/html-router/src/middlewares/analytics_middleware.rs index 084ff51..9f817a0 100644 --- a/html-router/src/middlewares/analytics_middleware.rs +++ b/html-router/src/middlewares/analytics_middleware.rs @@ -1,5 +1,6 @@ use axum::{ extract::{Request, State}, + http::Method, middleware::Next, response::Response, }; @@ -19,7 +20,8 @@ where S: ProvidesDb + Clone + Send + Sync + 'static, { let path = request.uri().path(); - if !path.starts_with("/assets") && !path.contains('.') { + // Only count visits/page loads for GET requests to non-asset, non-static paths + if request.method() == Method::GET && !path.starts_with("/assets") && !path.contains('.') { if !session.get::("counted_visitor").unwrap_or(false) { let _ = Analytics::increment_visitors(state.db()).await; session.set("counted_visitor", true);