Basic fetch channel

This commit is contained in:
Julia Lange 2026-01-14 16:12:15 -08:00
parent 38d1cbbd50
commit e1cb00f0b1
Signed by: Julia
SSH key fingerprint: SHA256:5DJcfxa5/fKCYn57dcabJa2vN2e6eT0pBerYi5SUbto
4 changed files with 2156 additions and 0 deletions

View file

@ -0,0 +1,21 @@
use std::error::Error;
use reqwest::{
IntoUrl,
Client,
};
use rss::Channel as RawChannel;
pub struct Channel {
pub channel: rss::Channel,
}
pub async fn fetch_channel<T: IntoUrl>(
client: &Client, url: T) -> Result<Channel, Box<dyn Error>> {
let content = client.get(url)
.send().await?
.bytes().await?;
let raw_channel = RawChannel::read_from(&content[..])?;
println!("{}", raw_channel.title);
Ok(Channel { channel: raw_channel })
}