From e83fa37d584ef7bad0b606d1a37b247714c0d5f3 Mon Sep 17 00:00:00 2001 From: Greg Shuflin Date: Sat, 1 Feb 2025 23:39:32 -0800 Subject: [PATCH] Fix redirect --- src/user.rs | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/user.rs b/src/user.rs index c718c24..8ce2332 100644 --- a/src/user.rs +++ b/src/user.rs @@ -228,14 +228,15 @@ impl<'r> rocket::request::FromRequest<'r> for AuthenticatedUser { type Error = (); async fn from_request(request: &'r rocket::Request<'_>) -> rocket::request::Outcome { - let cookies = request.cookies(); - - if let Some(user_id_cookie) = cookies.get_private("user_id") { - if let Ok(user_id) = Uuid::parse_str(user_id_cookie.value()) { - return rocket::request::Outcome::Success(AuthenticatedUser { user_id }); - } + match request.cookies().get_private("user_id") { + Some(cookie) => { + if let Ok(user_id) = Uuid::parse_str(cookie.value()) { + rocket::request::Outcome::Success(AuthenticatedUser { user_id }) + } else { + rocket::request::Outcome::Forward(Status::Unauthorized) + } + }, + None => rocket::request::Outcome::Forward(Status::Unauthorized), } - - rocket::request::Outcome::Error((rocket::http::Status::Unauthorized, ())) } }