mirror of
https://github.com/agersant/polaris
synced 2025-03-02 06:17:10 +00:00
Removed unecessary set-cookie header
This commit is contained in:
parent
3298865f22
commit
fa3729340a
1 changed files with 3 additions and 22 deletions
25
src/api.rs
25
src/api.rs
|
@ -5,7 +5,7 @@ use std::ops::Deref;
|
|||
use std::sync::Arc;
|
||||
|
||||
use iron::prelude::*;
|
||||
use iron::headers::{Authorization, Basic, SetCookie};
|
||||
use iron::headers::{Authorization, Basic};
|
||||
use iron::{AroundMiddleware, Handler, status};
|
||||
use mount::Mount;
|
||||
use params;
|
||||
|
@ -144,15 +144,8 @@ struct AuthHandler {
|
|||
collection: Arc<Collection>,
|
||||
}
|
||||
|
||||
fn set_cookie(username: &str, response: &mut Response) {
|
||||
response
|
||||
.headers
|
||||
.set(SetCookie(vec![format!("username={}; Path=/", username)]));
|
||||
}
|
||||
|
||||
impl Handler for AuthHandler {
|
||||
fn handle(&self, req: &mut Request) -> IronResult<Response> {
|
||||
let mut username = None;
|
||||
{
|
||||
let mut auth_success = false;
|
||||
|
||||
|
@ -161,7 +154,6 @@ impl Handler for AuthHandler {
|
|||
if let Some(ref password) = auth.password {
|
||||
auth_success = self.collection
|
||||
.auth(auth.username.as_str(), password.as_str());
|
||||
username = Some(auth.username.clone());
|
||||
req.extensions
|
||||
.insert::<SessionKey>(Session { username: auth.username.clone() });
|
||||
}
|
||||
|
@ -179,16 +171,7 @@ impl Handler for AuthHandler {
|
|||
|
||||
}
|
||||
|
||||
let mut response = self.handler.handle(req);
|
||||
|
||||
// Add cookie to response
|
||||
if let Some(username) = username {
|
||||
if let Ok(ref mut response) = response {
|
||||
set_cookie(username.as_str(), response);
|
||||
}
|
||||
}
|
||||
|
||||
response
|
||||
self.handler.handle(req)
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -215,12 +198,10 @@ fn auth(request: &mut Request, collection: &Collection) -> IronResult<Response>
|
|||
};
|
||||
}
|
||||
if collection.auth(username.as_str(), password.as_str()) {
|
||||
let mut response = Response::with((status::Ok, ""));
|
||||
set_cookie(&username, &mut response);
|
||||
request
|
||||
.extensions
|
||||
.insert::<SessionKey>(Session { username: username.clone() });
|
||||
Ok(response)
|
||||
Ok(Response::with((status::Ok, "")))
|
||||
} else {
|
||||
Err(Error::from(ErrorKind::IncorrectCredentials).into())
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue