Clear 302 redirects
This commit is contained in:
parent
51bd692392
commit
59c69765d7
|
@ -446,6 +446,7 @@ dependencies = [
|
||||||
"dirs",
|
"dirs",
|
||||||
"handlebars",
|
"handlebars",
|
||||||
"hex",
|
"hex",
|
||||||
|
"http",
|
||||||
"rand 0.7.3",
|
"rand 0.7.3",
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
|
|
|
@ -10,6 +10,7 @@ bs58 = "0.4.0"
|
||||||
dirs = "3.0.1"
|
dirs = "3.0.1"
|
||||||
handlebars = "3.5.1"
|
handlebars = "3.5.1"
|
||||||
hex = "0.4.2"
|
hex = "0.4.2"
|
||||||
|
http = "0.2"
|
||||||
rand = "0.7.3"
|
rand = "0.7.3"
|
||||||
serde = { version = "1.0.118", features = ["derive"] }
|
serde = { version = "1.0.118", features = ["derive"] }
|
||||||
serde_json = "1.0.60"
|
serde_json = "1.0.60"
|
||||||
|
|
|
@ -77,6 +77,7 @@ pub async fn start_server(
|
||||||
)
|
)
|
||||||
.unwrap_or_else(|e| e.to_string()),
|
.unwrap_or_else(|e| e.to_string()),
|
||||||
)
|
)
|
||||||
|
.into_response()
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -92,6 +93,7 @@ pub async fn start_server(
|
||||||
)
|
)
|
||||||
.unwrap_or_else(|e| e.to_string()),
|
.unwrap_or_else(|e| e.to_string()),
|
||||||
)
|
)
|
||||||
|
.into_response()
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -111,6 +113,7 @@ pub async fn start_server(
|
||||||
)
|
)
|
||||||
.unwrap_or_else(|e| e.to_string()),
|
.unwrap_or_else(|e| e.to_string()),
|
||||||
)
|
)
|
||||||
|
.into_response()
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -162,7 +165,7 @@ pub async fn start_server(
|
||||||
.collect::<Vec<AdWithId>>(),
|
.collect::<Vec<AdWithId>>(),
|
||||||
);
|
);
|
||||||
drop(cache_ads);
|
drop(cache_ads);
|
||||||
handle_index(&[])
|
redirect_302("/").into_response()
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -217,12 +220,11 @@ pub async fn start_server(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
handle_index(&[])
|
redirect_302("/").into_response()
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
let handle_admin_rm_ad = {
|
let handle_admin_rm_ad = {
|
||||||
let handle_admin = handle_admin.clone();
|
|
||||||
move |query: AdminRmAdQuery| {
|
move |query: AdminRmAdQuery| {
|
||||||
if let Ok(ad_id) = hex::decode(query.ad) {
|
if let Ok(ad_id) = hex::decode(query.ad) {
|
||||||
if let Ok(ad_id) = AdId::try_from(ad_id.as_ref()) {
|
if let Ok(ad_id) = AdId::try_from(ad_id.as_ref()) {
|
||||||
|
@ -244,7 +246,7 @@ pub async fn start_server(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
handle_admin(&[])
|
redirect_302("/admin").into_response()
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -303,7 +305,7 @@ pub async fn start_server(
|
||||||
move |query: AdminLoginQuery| {
|
move |query: AdminLoginQuery| {
|
||||||
if config.admin_passwords.contains(&query.psw) {
|
if config.admin_passwords.contains(&query.psw) {
|
||||||
warp::reply::with_header(
|
warp::reply::with_header(
|
||||||
warp::redirect(warp::http::Uri::from_static("/admin")),
|
redirect_302("/admin").into_response(),
|
||||||
"Set-Cookie",
|
"Set-Cookie",
|
||||||
format!(
|
format!(
|
||||||
"admin={}; path=/; HttpOnly",
|
"admin={}; path=/; HttpOnly",
|
||||||
|
@ -322,7 +324,7 @@ pub async fn start_server(
|
||||||
))
|
))
|
||||||
.or(warp::path("logout").and(warp::path::end()).map(|| {
|
.or(warp::path("logout").and(warp::path::end()).map(|| {
|
||||||
warp::reply::with_header(
|
warp::reply::with_header(
|
||||||
warp::redirect::temporary(warp::http::Uri::from_static("/")),
|
redirect_302("/").into_response(),
|
||||||
"Set-Cookie",
|
"Set-Cookie",
|
||||||
"admin=; HttpOnly; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT",
|
"admin=; HttpOnly; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT",
|
||||||
)
|
)
|
||||||
|
|
|
@ -39,3 +39,10 @@ pub fn format_pubkey(raw: &str) -> Result<String, PubkeyDecodeError> {
|
||||||
&checksum[..3]
|
&checksum[..3]
|
||||||
))
|
))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn redirect_302(url: &str) -> warp::reply::WithStatus<warp::reply::WithHeader<&str>> {
|
||||||
|
warp::reply::with_status(
|
||||||
|
warp::reply::with_header("", "Location", url),
|
||||||
|
http::status::StatusCode::FOUND,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue