diff options
author | metamuffin <metamuffin@disroot.org> | 2024-01-21 03:05:08 +0100 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2024-01-21 03:05:08 +0100 |
commit | 62ef60aca4e39f02cb8de972def0cc366e220542 (patch) | |
tree | 2091c42390d703983fc18717c2814ddeec032ea4 /server/src/routes/mod.rs | |
parent | 5177497b3cf376403a8daab2e5ca9408ad2625bd (diff) | |
download | jellything-62ef60aca4e39f02cb8de972def0cc366e220542.tar jellything-62ef60aca4e39f02cb8de972def0cc366e220542.tar.bz2 jellything-62ef60aca4e39f02cb8de972def0cc366e220542.tar.zst |
added bad federated lsvp
Diffstat (limited to 'server/src/routes/mod.rs')
-rw-r--r-- | server/src/routes/mod.rs | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/server/src/routes/mod.rs b/server/src/routes/mod.rs index e4d05e5..a6a086f 100644 --- a/server/src/routes/mod.rs +++ b/server/src/routes/mod.rs @@ -10,8 +10,14 @@ use jellybase::{federation::Federation, CONF, SECRETS}; use log::warn; use rand::random; use rocket::{ - catchers, config::SecretKey, fairing::AdHoc, fs::FileServer, get, http::Header, routes, Build, - Config, Rocket, + catchers, + config::SecretKey, + fairing::AdHoc, + fs::FileServer, + get, + http::Header, + response::{self, Responder}, + routes, Build, Config, Request, Rocket, }; use std::fs::File; use stream::r_stream; @@ -37,11 +43,11 @@ use ui::{ }; use userdata::{r_node_userdata, r_player_progress, r_player_watched}; -use self::streamsync::r_streamsync; +use self::playersync::{r_streamsync, PlayersyncChannels}; pub mod api; pub mod stream; -pub mod streamsync; +pub mod playersync; pub mod ui; pub mod userdata; @@ -76,6 +82,7 @@ pub fn build_rocket(database: DataAcid, federation: Federation) -> Rocket<Build> }) .manage(database) .manage(federation) + .manage(PlayersyncChannels::default()) .attach(AdHoc::on_response("set server header", |_req, res| { res.set_header(Header::new("server", "jellything")); Box::pin(async {}) @@ -133,3 +140,12 @@ pub fn build_rocket(database: DataAcid, federation: Federation) -> Rocket<Build> fn r_favicon() -> MyResult<File> { Ok(File::open(CONF.asset_path.join("favicon.ico"))?) } + +pub struct Cors<T>(pub T); +impl<'r, T: Responder<'r, 'static>> Responder<'r, 'static> for Cors<T> { + fn respond_to(self, request: &'r Request<'_>) -> response::Result<'static> { + let mut r = self.0.respond_to(request)?; + r.adjoin_header(Header::new("access-controll-allow-origin", "*")); + Ok(r) + } +} |