follow redirects
This commit is contained in:
parent
21e584be0d
commit
05372c8b70
4 changed files with 12 additions and 4 deletions
2
Cargo.lock
generated
2
Cargo.lock
generated
|
@ -1494,7 +1494,7 @@ checksum = "7bd3e3206899af3f8b12af284fafc038cc1dc2b41d1b89dd17297221c5d225de"
|
|||
|
||||
[[package]]
|
||||
name = "site_icons"
|
||||
version = "0.1.11"
|
||||
version = "0.1.12"
|
||||
dependencies = [
|
||||
"byteorder",
|
||||
"clap",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "site_icons"
|
||||
version = "0.1.11"
|
||||
version = "0.1.12"
|
||||
authors = ["Sam Denty <sam@samdenty.com>"]
|
||||
edition = "2018"
|
||||
license = "GPL-3.0"
|
||||
|
|
|
@ -30,7 +30,10 @@ pub enum IconInfo {
|
|||
}
|
||||
|
||||
impl IconInfo {
|
||||
pub async fn load(url: Url, sizes: Option<String>) -> Result<IconInfo, Box<dyn Error + Send + Sync>> {
|
||||
pub async fn load(
|
||||
url: Url,
|
||||
sizes: Option<String>,
|
||||
) -> Result<IconInfo, Box<dyn Error + Send + Sync>> {
|
||||
let sizes = sizes.as_ref().and_then(|s| IconSizes::from_str(s).ok());
|
||||
|
||||
let (mime, mut body): (_, Box<dyn AsyncRead + Unpin + Send + Sync>) = match url.scheme() {
|
||||
|
|
|
@ -38,13 +38,18 @@ pub use icons::*;
|
|||
use once_cell::sync::Lazy;
|
||||
use reqwest::{
|
||||
header::{HeaderMap, HeaderValue, USER_AGENT},
|
||||
redirect::Policy,
|
||||
Client,
|
||||
};
|
||||
|
||||
static CLIENT: Lazy<Client> = Lazy::new(|| {
|
||||
let mut headers = HeaderMap::new();
|
||||
headers.insert(USER_AGENT, HeaderValue::from_str("Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36").unwrap());
|
||||
Client::builder().default_headers(headers).build().unwrap()
|
||||
Client::builder()
|
||||
.default_headers(headers)
|
||||
.redirect(Policy::limited(20))
|
||||
.build()
|
||||
.unwrap()
|
||||
});
|
||||
|
||||
#[cfg(test)]
|
||||
|
|
Reference in a new issue