diff --git a/Cargo.lock b/Cargo.lock index 198e7b0..9fb1264 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -820,6 +820,7 @@ dependencies = [ "axum", "bytes", "chrono", + "quick-xml", "reqwest", "serde_json", "stream-download", @@ -855,6 +856,15 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "quick-xml" +version = "0.38.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42a232e7487fc2ef313d96dde7948e7a3c05101870d8985e4fd8d26aedd27b89" +dependencies = [ + "memchr", +] + [[package]] name = "quinn" version = "0.11.8" diff --git a/Cargo.toml b/Cargo.toml index 6923d55..e5dd283 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,3 +14,4 @@ serde_json = "1" stream-download = "0.22" chrono = "0.4" tokio-cron-scheduler = "0.14" +quick-xml = "0.38" diff --git a/src/streamer.rs b/src/streamer.rs index 478189e..9ad8918 100644 --- a/src/streamer.rs +++ b/src/streamer.rs @@ -16,21 +16,37 @@ pub async fn stream_handler(State(state): State>) -> impl IntoResp fn feed(urls: &Vec) -> String { let mut ret = String::new(); ret.push_str(r#""#); + ret.push('\n'); ret.push_str(r#""#); - ret.push_str(""); - ret.push_str("Ö1 Morgenjournal Feed"); - ret.push_str("https://news.hofer.link"); - ret.push_str("Feed für Ö1 Morgenjournal. Live."); + ret.push('\n'); + ret.push_str(" "); + ret.push('\n'); + ret.push_str(" Ö1 Morgenjournal Feed"); + ret.push('\n'); + ret.push_str(" https://news.hofer.link"); + ret.push('\n'); + ret.push_str(" Feed für Ö1 Morgenjournal. Live."); + ret.push('\n'); for url in urls { - ret.push_str(""); - ret.push_str(&format!("Morgenjournal DATE")); - ret.push_str(&format!("{url}")); - ret.push_str(&format!("{url}")); - ret.push_str(""); + ret.push_str(" "); + ret.push('\n'); + ret.push_str(&format!(" Morgenjournal DATE")); + ret.push('\n'); + ret.push_str(&format!( + " {}", + quick_xml::escape::escape(url) + )); + ret.push('\n'); + ret.push_str(&format!(" my desc")); + ret.push('\n'); + ret.push_str(" "); + ret.push('\n'); } - ret.push_str(""); + ret.push_str(" "); + ret.push('\n'); + ret.push_str(""); ret }