diff --git a/src/providers/missav.rs b/src/providers/missav.rs index 3d3bef5..15a5357 100644 --- a/src/providers/missav.rs +++ b/src/providers/missav.rs @@ -3,6 +3,7 @@ use async_trait::async_trait; use error_chain::error_chain; use htmlentity::entity::{decode, ICodedDataTrait}; use futures::future::join_all; +use wreq::Version; use crate::db; use crate::providers::Provider; use crate::util::cache::VideoCache; @@ -30,14 +31,16 @@ impl MissavProvider { url: "https://missav.ws".to_string() } } - async fn get(&self, cache:VideoCache, pool:DbPool, page: u8, sort: String, options: ServerOptions) -> Result> { + async fn get(&self, cache:VideoCache, pool:DbPool, page: u8, mut sort: String, options: ServerOptions) -> Result> { // Extract needed fields from options at the start let language = options.language.clone().unwrap(); let filter = options.filter.clone().unwrap(); let mut requester = options.requester.clone().unwrap(); - - let url_str = format!("{}/{}/{}?page={}&sort={}", self.url, language, filter, page, sort); + if !sort.is_empty(){ + sort = format!("&sort={}", sort); + } + let url_str = format!("{}/{}/{}?page={}{}", self.url, language, filter, page, sort); let old_items = match cache.get(&url_str) { Some((time, items)) => { @@ -53,7 +56,7 @@ impl MissavProvider { } }; - let text = requester.get(&url_str, None).await.unwrap(); + let text = requester.get(&url_str, Some(Version::HTTP_2)).await.unwrap(); // Pass a reference to options if needed, or reconstruct as needed let video_items: Vec = self.get_video_items_from_html(text.clone(), pool, requester).await; if !video_items.is_empty() { @@ -148,7 +151,7 @@ impl MissavProvider { } } drop(conn); - let vid = requester.get(&url_str, None).await.unwrap(); + let vid = requester.get(&url_str, Some(Version::HTTP_2)).await.unwrap(); let mut title = vid.split(">()[1] .split("\"") .collect::>()[0].trim()