tools/http: make user agent configurable
This commit is contained in:
parent
d52b120905
commit
c0147e49c4
|
@ -103,6 +103,7 @@ impl ProxyConfig {
|
||||||
pub struct SimpleHttp {
|
pub struct SimpleHttp {
|
||||||
client: Client<HttpsConnector, Body>,
|
client: Client<HttpsConnector, Body>,
|
||||||
proxy_authorization: Option<String>, // Proxy-Authorization header value
|
proxy_authorization: Option<String>, // Proxy-Authorization header value
|
||||||
|
user_agent: Option<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl SimpleHttp {
|
impl SimpleHttp {
|
||||||
|
@ -129,7 +130,12 @@ impl SimpleHttp {
|
||||||
https.set_proxy(proxy_config);
|
https.set_proxy(proxy_config);
|
||||||
}
|
}
|
||||||
let client = Client::builder().build(https);
|
let client = Client::builder().build(https);
|
||||||
Self { client, proxy_authorization}
|
Self { client, proxy_authorization, user_agent: None }
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn set_user_agent(&mut self, user_agent: &str) -> Result<(), Error> {
|
||||||
|
self.user_agent = Some(user_agent.to_owned());
|
||||||
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
||||||
fn add_proxy_headers(&self, request: &mut Request<Body>) -> Result<(), Error> {
|
fn add_proxy_headers(&self, request: &mut Request<Body>) -> Result<(), Error> {
|
||||||
|
@ -147,11 +153,13 @@ impl SimpleHttp {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub async fn request(&self, mut request: Request<Body>) -> Result<Response<Body>, Error> {
|
pub async fn request(&self, mut request: Request<Body>) -> Result<Response<Body>, Error> {
|
||||||
|
let user_agent = if let Some(ref user_agent) = self.user_agent {
|
||||||
|
HeaderValue::from_str(&user_agent)?
|
||||||
|
} else {
|
||||||
|
HeaderValue::from_str(Self::DEFAULT_USER_AGENT_STRING)?
|
||||||
|
};
|
||||||
|
|
||||||
request.headers_mut().insert(
|
request.headers_mut().insert(hyper::header::USER_AGENT, user_agent);
|
||||||
hyper::header::USER_AGENT,
|
|
||||||
HeaderValue::from_str(Self::DEFAULT_USER_AGENT_STRING)?,
|
|
||||||
);
|
|
||||||
|
|
||||||
self.add_proxy_headers(&mut request)?;
|
self.add_proxy_headers(&mut request)?;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue