features, cleanup and bug fixes #26
3 changed files with 18 additions and 13 deletions
fix some clippy warnings
commit
4d95d456ab
|
|
@ -141,12 +141,14 @@ fn base<'a>(
|
||||||
)
|
)
|
||||||
];
|
];
|
||||||
|
|
||||||
|
#[allow(clippy::needless_collect)]
|
||||||
|
// the collect is necessary to end the borrow of borrows default_links by the map closure
|
||||||
let links = config
|
let links = config
|
||||||
.config
|
.config
|
||||||
.footer_links
|
.footer_links
|
||||||
.iter()
|
.iter()
|
||||||
.map(|elem| {
|
.map(|elem| {
|
||||||
default_links.retain(|&(title, _)| title != &elem.title);
|
default_links.retain(|&(title, _)| title != elem.title);
|
||||||
(elem.title.as_str(), elem.url.as_deref())
|
(elem.title.as_str(), elem.url.as_deref())
|
||||||
})
|
})
|
||||||
.collect::<Vec<_>>();
|
.collect::<Vec<_>>();
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ use crate::job_offers::JobOffers;
|
||||||
use crate::route::job_offer::error::SyncError;
|
use crate::route::job_offer::error::SyncError;
|
||||||
use crate::route::{HTML_CONTENT, JSON_CONTENT};
|
use crate::route::{HTML_CONTENT, JSON_CONTENT};
|
||||||
use crate::server_config::ServerConfig;
|
use crate::server_config::ServerConfig;
|
||||||
use crate::{auth, template};
|
use crate::template;
|
||||||
|
|
||||||
pub fn configure(service: &mut ServiceConfig) {
|
pub fn configure(service: &mut ServiceConfig) {
|
||||||
service
|
service
|
||||||
|
|
|
||||||
|
|
@ -67,17 +67,20 @@ pub(crate) async fn create_joboffer_post(
|
||||||
|
|
||||||
debug!("getting lease for new submission");
|
debug!("getting lease for new submission");
|
||||||
let submission_lease = {
|
let submission_lease = {
|
||||||
let con_inf = req.connection_info();
|
let ip = {
|
||||||
// we expect to be run behind a reverse proxy so we can trust the Forwarded/X-Forwarded-For header if they are set
|
// we expect to be run behind a reverse proxy so we can trust the Forwarded/X-Forwarded-For header if they are set
|
||||||
let forwarded_for = con_inf
|
let con_inf = req.connection_info();
|
||||||
.realip_remote_addr()
|
|
||||||
.expect("should be able to determine a remote address");
|
let forwarded_for = {
|
||||||
limiter
|
con_inf
|
||||||
.into_inner()
|
.realip_remote_addr()
|
||||||
.get_submission_lease(
|
.expect("should be able to determine a remote address")
|
||||||
IpAddr::from_str(forwarded_for).expect("remote address is a valid ip address"),
|
};
|
||||||
)
|
|
||||||
.await
|
IpAddr::from_str(forwarded_for).expect("remote address should be a valid ip address")
|
||||||
|
};
|
||||||
|
|
||||||
|
limiter.into_inner().get_submission_lease(ip).await
|
||||||
};
|
};
|
||||||
|
|
||||||
if submission_lease.is_none() && user.is_none() {
|
if submission_lease.is_none() && user.is_none() {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue