From 43ef8d15c4f0f5bdd47417dc0487ff4fb916df23 Mon Sep 17 00:00:00 2001 From: ThetaDev Date: Fri, 4 Aug 2023 15:14:55 +0200 Subject: [PATCH 1/2] feat: add build_with_client method to RustyPipeBuilder fix: create data dir if it doesn't exist --- cli/src/main.rs | 2 +- src/client/mod.rs | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/cli/src/main.rs b/cli/src/main.rs index ff53c77..a79b12a 100644 --- a/cli/src/main.rs +++ b/cli/src/main.rs @@ -393,7 +393,7 @@ async fn main() { let mut storage_dir = dirs::data_dir().expect("no data dir"); storage_dir.push("rustypipe"); - _ = std::fs::create_dir(&storage_dir); + std::fs::create_dir_all(&storage_dir).expect("could not create data dir"); let mut rp = RustyPipe::builder().storage_dir(storage_dir); if cli.report { diff --git a/src/client/mod.rs b/src/client/mod.rs index bf5413e..bd2d609 100644 --- a/src/client/mod.rs +++ b/src/client/mod.rs @@ -458,7 +458,12 @@ impl RustyPipeBuilder { /// Return a new, configured RustyPipe instance. pub fn build(self) -> Result { - let mut client_builder = ClientBuilder::new() + self.build_with_client(ClientBuilder::new()) + } + + /// Return a new, configured RustyPipe instance using a Reqwest client builder. + pub fn build_with_client(self, mut client_builder: ClientBuilder) -> Result { + client_builder = client_builder .user_agent(self.user_agent.unwrap_or_else(|| DEFAULT_UA.to_owned())) .gzip(true) .brotli(true) From d78fa371e9f6f0246c9b731e8ad81abfc9a902b2 Mon Sep 17 00:00:00 2001 From: ThetaDev Date: Fri, 4 Aug 2023 16:15:04 +0200 Subject: [PATCH 2/2] fix: handle navigation endpoints for shorts (reelWatchEndpoint) --- src/client/response/url_endpoint.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/client/response/url_endpoint.rs b/src/client/response/url_endpoint.rs index 01a9374..4477103 100644 --- a/src/client/response/url_endpoint.rs +++ b/src/client/response/url_endpoint.rs @@ -15,7 +15,10 @@ pub(crate) struct ResolvedUrl { #[serde(untagged)] pub(crate) enum NavigationEndpoint { #[serde(rename_all = "camelCase")] - Watch { watch_endpoint: WatchEndpoint }, + Watch { + #[serde(alias = "reelWatchEndpoint")] + watch_endpoint: WatchEndpoint, + }, #[serde(rename_all = "camelCase")] Browse { browse_endpoint: BrowseEndpoint,