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 std::sync::Arc;
|
||||||
|
|
||||||
use iron::prelude::*;
|
use iron::prelude::*;
|
||||||
use iron::headers::{Authorization, Basic, SetCookie};
|
use iron::headers::{Authorization, Basic};
|
||||||
use iron::{AroundMiddleware, Handler, status};
|
use iron::{AroundMiddleware, Handler, status};
|
||||||
use mount::Mount;
|
use mount::Mount;
|
||||||
use params;
|
use params;
|
||||||
|
@ -144,15 +144,8 @@ struct AuthHandler {
|
||||||
collection: Arc<Collection>,
|
collection: Arc<Collection>,
|
||||||
}
|
}
|
||||||
|
|
||||||
fn set_cookie(username: &str, response: &mut Response) {
|
|
||||||
response
|
|
||||||
.headers
|
|
||||||
.set(SetCookie(vec![format!("username={}; Path=/", username)]));
|
|
||||||
}
|
|
||||||
|
|
||||||
impl Handler for AuthHandler {
|
impl Handler for AuthHandler {
|
||||||
fn handle(&self, req: &mut Request) -> IronResult<Response> {
|
fn handle(&self, req: &mut Request) -> IronResult<Response> {
|
||||||
let mut username = None;
|
|
||||||
{
|
{
|
||||||
let mut auth_success = false;
|
let mut auth_success = false;
|
||||||
|
|
||||||
|
@ -161,7 +154,6 @@ impl Handler for AuthHandler {
|
||||||
if let Some(ref password) = auth.password {
|
if let Some(ref password) = auth.password {
|
||||||
auth_success = self.collection
|
auth_success = self.collection
|
||||||
.auth(auth.username.as_str(), password.as_str());
|
.auth(auth.username.as_str(), password.as_str());
|
||||||
username = Some(auth.username.clone());
|
|
||||||
req.extensions
|
req.extensions
|
||||||
.insert::<SessionKey>(Session { username: auth.username.clone() });
|
.insert::<SessionKey>(Session { username: auth.username.clone() });
|
||||||
}
|
}
|
||||||
|
@ -179,16 +171,7 @@ impl Handler for AuthHandler {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
let mut response = self.handler.handle(req);
|
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
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -215,12 +198,10 @@ fn auth(request: &mut Request, collection: &Collection) -> IronResult<Response>
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
if collection.auth(username.as_str(), password.as_str()) {
|
if collection.auth(username.as_str(), password.as_str()) {
|
||||||
let mut response = Response::with((status::Ok, ""));
|
|
||||||
set_cookie(&username, &mut response);
|
|
||||||
request
|
request
|
||||||
.extensions
|
.extensions
|
||||||
.insert::<SessionKey>(Session { username: username.clone() });
|
.insert::<SessionKey>(Session { username: username.clone() });
|
||||||
Ok(response)
|
Ok(Response::with((status::Ok, "")))
|
||||||
} else {
|
} else {
|
||||||
Err(Error::from(ErrorKind::IncorrectCredentials).into())
|
Err(Error::from(ErrorKind::IncorrectCredentials).into())
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue