mirror of
https://github.com/clowzed/sero
synced 2024-06-19 23:05:01 +02:00
Added another variant of origin check in cors layer. pt 2
This commit is contained in:
parent
9265cb5085
commit
9be81978cc
22
src/main.rs
22
src/main.rs
|
@ -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)
|
||||
}))
|
||||
|
|
Loading…
Reference in a new issue