deps: Update to a more recent rocket and rust toolchain
With this patch, Plume will be use a more up-to-date revision of Rocket, that works with nightly-2018-07-17. It may have been able to make it work with a more recent revision, but it turns out rocket has introduced several breaking changes so I’d rather fix those. Besides updating rocket_i18n and rocket_csrf to use the same revision than Plume, this patch deals with the new implementation of the Uri<'_> type. It silents a class of warnings, to deal with a change in rustc which affects diesel. This latter change should be reverted as soon as diesel releases a new version of its crate.
This commit is contained in:
+21
-4
@@ -4,6 +4,7 @@ use rocket::{
|
||||
request::{LenientForm,FlashMessage}
|
||||
};
|
||||
use rocket_contrib::Template;
|
||||
use rocket::http::ext::IntoOwned;
|
||||
use std::borrow::Cow;
|
||||
use validator::{Validate, ValidationError, ValidationErrors};
|
||||
|
||||
@@ -72,10 +73,26 @@ fn create(conn: DbConn, data: LenientForm<LoginForm>, flash: Option<FlashMessage
|
||||
|
||||
if errors.is_empty() {
|
||||
cookies.add_private(Cookie::new(AUTH_COOKIE, user.unwrap().id.to_string()));
|
||||
Ok(Redirect::to(Uri::new(flash
|
||||
.and_then(|f| if f.name() == "callback" { Some(f.msg().to_owned()) } else { None })
|
||||
.unwrap_or("/".to_owned()))
|
||||
))
|
||||
|
||||
let destination = flash
|
||||
.and_then(|f| if f.name() == "callback" {
|
||||
Some(f.msg().to_owned())
|
||||
} else {
|
||||
None
|
||||
})
|
||||
.unwrap_or("/".to_owned());
|
||||
|
||||
let uri = Uri::parse(&destination)
|
||||
.map(|x| x.into_owned())
|
||||
.map_err(|_| {
|
||||
Template::render("session/login", json!({
|
||||
"account": null,
|
||||
"errors": errors.inner(),
|
||||
"form": form
|
||||
}))
|
||||
})?;
|
||||
|
||||
Ok(Redirect::to(uri))
|
||||
} else {
|
||||
println!("{:?}", errors);
|
||||
Err(Template::render("session/login", json!({
|
||||
|
||||
Reference in New Issue
Block a user