summaryrefslogtreecommitdiff
path: root/src/server.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/server.rs')
-rw-r--r--src/server.rs22
1 files changed, 10 insertions, 12 deletions
diff --git a/src/server.rs b/src/server.rs
index 40e6b87..275ffed 100644
--- a/src/server.rs
+++ b/src/server.rs
@@ -1,8 +1,8 @@
-use rocket::http::Cookies;
-use rocket::http::Cookie;
use rocket::config::Config;
use rocket::config::Environment;
use rocket::config::Value;
+use rocket::http::Cookie;
+use rocket::http::Cookies;
use rocket::http::Status;
use rocket::request;
use rocket::request::Form;
@@ -33,21 +33,19 @@ pub struct LoggedInUser {
impl<'a, 'r> FromRequest<'a, 'r> for LoggedInUser {
type Error = Error;
- fn from_request(request: &'a Request<'r>)
- -> request::Outcome<Self, Self::Error> {
- let conn = request.guard::<Db>()
+ fn from_request(request: &'a Request<'r>) -> request::Outcome<Self, Self::Error> {
+ let conn = request
+ .guard::<Db>()
.map_failure(|(s, ())| (s, Error::InternalError))?;
let user = (|| {
- let username = request.cookies()
+ let username = request
+ .cookies()
.get_private("user")
.map(|cookie| cookie.value().to_string())
.ok_or(Error::NotFound)?;
- if db::user_exists(&conn, &username)? {
- Ok(LoggedInUser{username: username})
- } else {
- Err(Error::NotFound)
- }
+ db::get_user(&conn, &username)?;
+ Ok(LoggedInUser { username: username })
})();
use request::Outcome;
@@ -92,7 +90,7 @@ fn login_submit(conn: Db, data: Form<LoginData>, mut cookies: Cookies) -> Result
Ok(_user) => {
cookies.add_private(Cookie::new("user", data.username.clone()));
Ok(Redirect::to(uri!(index).to_string()))
- },
+ }
Err(Error::NotFound) => Ok(Redirect::to(uri!(login: failed = true).to_string())),
Err(e) => Err(e),
}