utf8_percent_encode(image_url, NON_ALPHANUMERIC)
);
let text = isahc::get(&fetch_url)?.text()?;
+ println!("--------------{}", text);
let res: PictshareResponse = serde_json::from_str(&text)?;
Ok(res)
}
Option<String>,
) {
// Fetch iframely data
- let (iframely_title, iframely_description, iframely_thumbnail_url, iframely_html) = match url {
- Some(url) => match fetch_iframely(&url) {
+ let (iframely_title, iframely_description, iframely_thumbnail_url, iframely_html) = match &url {
+ Some(url) => match fetch_iframely(url) {
Ok(res) => (res.title, res.description, res.thumbnail_url, res.html),
Err(e) => {
error!("iframely err: {}", e);
None
}
},
- None => None,
+
+ None => match url {
+ Some(url) => match fetch_pictshare(&url) {
+ // Try to generate a small thumbnail if iframely is not supported
+ Ok(res) => {
+ let mut split_url: Vec<&str> = res.url.split("/").collect();
+ split_url.insert(split_url.len() - 1, "192");
+ Some(split_url.join("/"))
+ }
+ Err(e) => {
+ error!("pictshare err: {}", e);
+ None
+ }
+ },
+ None => None,
+ },
};
(