heavyfetish and other changes
This commit is contained in:
@@ -5,8 +5,9 @@ use std::sync::Arc;
|
||||
use wreq::Client;
|
||||
use wreq::Proxy;
|
||||
use wreq::Response;
|
||||
use wreq::Uri;
|
||||
use wreq::Version;
|
||||
use wreq::cookie::Jar;
|
||||
use wreq::cookie::{CookieStore, Cookies, Jar};
|
||||
use wreq::header::{HeaderMap, HeaderValue, USER_AGENT};
|
||||
use wreq::multipart::Form;
|
||||
use wreq::redirect::Policy;
|
||||
@@ -83,6 +84,23 @@ impl Requester {
|
||||
self.proxy = proxy;
|
||||
}
|
||||
|
||||
pub fn cookie_header_for_url(&self, url: &str) -> Option<String> {
|
||||
let parsed = url.parse::<Uri>().ok()?;
|
||||
match self.cookie_jar.cookies(&parsed) {
|
||||
Cookies::Compressed(value) => value.to_str().ok().map(ToOwned::to_owned),
|
||||
Cookies::Uncompressed(values) => {
|
||||
let joined = values
|
||||
.into_iter()
|
||||
.filter_map(|value| value.to_str().ok().map(ToOwned::to_owned))
|
||||
.collect::<Vec<_>>()
|
||||
.join("; ");
|
||||
(!joined.is_empty()).then_some(joined)
|
||||
}
|
||||
Cookies::Empty => None,
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
|
||||
pub async fn get_raw(&mut self, url: &str) -> Result<Response, wreq::Error> {
|
||||
let client = Self::build_client(self.cookie_jar.clone(), self.user_agent.as_deref());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user