diff --git a/CHANGELOG.md b/CHANGELOG.md index 772dc52..b7fc2b1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## Unreleased - Added SOCKS proxy support. See [the reqwest docs](https://docs.rs/reqwest/latest/reqwest/#proxies) for usage instructions. ([#3](https://github.com/THEOplayer/streamrr/pull/3)) +- Added cookies support while recording. ([#4](https://github.com/THEOplayer/streamrr/pull/4)) ## v0.2.0 (2025-11-19) diff --git a/Cargo.toml b/Cargo.toml index 2b10ed9..1533d5f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -13,7 +13,7 @@ publish = false [dependencies] m3u8-rs = "6.0.0" url = "2.5.7" -reqwest = { version = "0.12.23", features = ["rustls-tls", "stream", "socks"], default-features = false } +reqwest = { version = "0.12.23", features = ["rustls-tls", "stream", "socks", "cookies"], default-features = false } clap = { version = "4.5.48", features = ["derive"] } serde = { version = "1.0.228", features = ["derive"] } serde_json = "1.0.145" diff --git a/src/record/mod.rs b/src/record/mod.rs index 3f2574c..67086b8 100644 --- a/src/record/mod.rs +++ b/src/record/mod.rs @@ -56,8 +56,11 @@ pub async fn record( let recording_path = dest.join("recording.json"); let recording = RecordingFile::new(&recording_path).await?; let recording = Arc::new(Mutex::new(recording)); + let client = Client::builder() + .cookie_store(true) + .build() + .map_err(|_| RecordError::Config("Error while building HTTP client"))?; // Download initial playlist - let client = Client::new(); let raw_playlist = token .run_until_cancelled(download_playlist(&client, url)) .await