Added another variant of origin check in cors layer. pt 2

This commit is contained in:
clowzed 2023-11-09 00:06:45 +03:00
parent 9265cb5085
commit 9be81978cc

View file

@ -6,7 +6,6 @@ use axum::{
routing::{get, post},
Router,
};
use futures::executor::block_on;
use extractors::SubdomainModel;
use services::cors::CorsService;
@ -72,18 +71,15 @@ async fn main() {
CorsLayer::new()
.allow_methods(AllowMethods::any())
.allow_headers(AllowHeaders::any())
.allow_origin(AllowOrigin::predicate(move |origin, parts| {
let cloned_state = cloned_state.clone();
let cloned_origin = origin
.clone()
.to_str()
.map(|s| s.to_string())
.unwrap_or_default();
let cloned_headers = parts.headers.clone();
.allow_origin(AllowOrigin::predicate(move |origin, parts| {let cloned_headers = parts.headers.clone();
let (tx, rx) = mpsc::channel();
std::thread::spawn(
move || block_on(async move {
let cloned_state = cloned_state.clone();
let cloned_origin = origin.to_owned().to_str().map(|s| s.to_string()).unwrap_or_default();
std::thread::spawn(move || {
let rt = tokio::runtime::Runtime::new().unwrap();
rt.block_on(async move {
tracing::info!("Starting cors!");
let subdomain_model_extractor =
SubdomainModel::from_headers(&cloned_headers, &cloned_state)
@ -105,8 +101,8 @@ async fn main() {
.unwrap_or(false);
tx.send(res).ok();
}
));
});
});
rx.recv().unwrap_or(false)
}))