summaryrefslogtreecommitdiff
path: root/src/public/pages.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/public/pages.rs')
-rw-r--r--src/public/pages.rs15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/public/pages.rs b/src/public/pages.rs
index 32056b7..6d5c0de 100644
--- a/src/public/pages.rs
+++ b/src/public/pages.rs
@@ -1,13 +1,12 @@
use axum::{
response::{IntoResponse, Redirect, Response},
- routing::get,
- Router,
+ routing::get, Router
};
use crate::{
public::console,
types::{
- extract::{AuthorizedUser, Log},
+ extract::{AuthorizedUser, Log, UserAgent},
http::ResponseCode,
},
};
@@ -58,6 +57,15 @@ async fn wordpress(_: Log) -> Response {
ResponseCode::ImATeapot.text("Hello i am a teapot owo")
}
+async fn forgot(UserAgent(agent): UserAgent, _: Log) -> Response {
+
+ if agent.starts_with("curl") {
+ return super::serve("/404.html").await
+ }
+
+ Redirect::to("https://www.youtube.com/watch?v=dQw4w9WgXcQ").into_response()
+}
+
pub fn router() -> Router {
Router::new()
.route("/", get(root))
@@ -69,4 +77,5 @@ pub fn router() -> Router {
.route("/wp-admin", get(wordpress))
.route("/admin", get(admin))
.route("/docs", get(api))
+ .route("/forgot", get(forgot))
}