From 02e6c4145eb43331b37af9b7ca4f564076b1007a Mon Sep 17 00:00:00 2001 From: shockrah Date: Tue, 22 Dec 2020 21:29:43 -0800 Subject: [PATCH] now hanlding server issues with auth(since those sometimes happen) also renamed some vars to be more clear --- server-api/src/main.rs | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/server-api/src/main.rs b/server-api/src/main.rs index 4609f4e..32def6b 100644 --- a/server-api/src/main.rs +++ b/server-api/src/main.rs @@ -6,6 +6,8 @@ extern crate getrandom; extern crate bcrypt; extern crate base64; extern crate serde; +extern crate jsonwebtoken; +#[macro_use] extern crate lazy_static; use std::net::SocketAddr; use std::convert::Infallible; // our main dispatcher basically never fails hence why we use this @@ -79,26 +81,20 @@ async fn main_responder(request: Request) -> Result, hyper: let (parts, mut body) = request.into_parts(); let method = parts.method; let path = parts.uri.path(); - let headers = parts.headers; println!("{}: {}", method, path); let params_res = http_params::parse_params(&mut body).await; if let Ok(params) = params_res { - let pool = Pool::new(&env::var("DATABASE_URL").unwrap()); - if let Ok(auth_result) = auth::wall_entry(headers, path, &pool, ¶ms).await { - // Deal with permissions errors at this point - match auth_result { - OpenAuth | Good => route_dispatcher(&pool, &mut response, &method, path, params).await, - NoKey | BadKey => { - println!("\tAUTH: NoKey/BadKey"); - *response.status_mut() = StatusCode::UNAUTHORIZED - }, + let mysql_pool = Pool::new(&env::var("DATABASE_URL").unwrap()); + match auth::wall_entry(path, &mysql_pool, ¶ms).await { + OpenAuth | Good => route_dispatcher(&mysql_pool, &mut response, &method, path, params).await, + NoKey | BadKey => *response.status_mut() = StatusCode::UNAUTHORIZED, + ServerIssue(msg) => { + println!("\tAUTH : 500 [{}]", msg); + *response.status_mut() = StatusCode::INTERNAL_SERVER_ERROR; } } - else { - *response.status_mut() = StatusCode::INTERNAL_SERVER_ERROR; - } } else { println!("\tPARSER: Parameter parsing failed");