This commit is contained in:
2025-09-30 20:58:57 +01:00
parent 2ccf05d561
commit 834786b577
3 changed files with 61 additions and 0 deletions
+13
View File
@@ -2,9 +2,11 @@
#[macro_use]
extern crate rocket;
use rocket::http::Method;
use rocket::response::stream::{Event, EventStream};
use rocket::serde::json::Json;
use rocket::{Build, Rocket};
use rocket_cors::{AllowedOrigins, CorsOptions};
use serde::Deserialize;
use std::sync::Arc;
use tokio::sync::broadcast;
@@ -67,7 +69,18 @@ async fn event_stream(chat: &rocket::State<Arc<ChatBroadcaster>>) -> EventStream
fn rocket() -> Rocket<Build> {
let chat = Arc::new(ChatBroadcaster::new(32));
let cors = CorsOptions::default()
.allowed_origins(AllowedOrigins::all())
.allowed_methods(
vec![Method::Get, Method::Post, Method::Patch]
.into_iter()
.map(From::from)
.collect(),
)
.allow_credentials(true);
rocket::build()
.manage(chat)
.attach(cors.to_cors().unwrap())
.mount("/", routes![post_message, event_stream])
}