public inbox for pbs-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* Re: [pbs-devel] [PATCH proxmox-backup 2/2] tools/http: make user agent configurable
@ 2021-04-28 15:31 Dietmar Maurer
  0 siblings, 0 replies; 4+ messages in thread
From: Dietmar Maurer @ 2021-04-28 15:31 UTC (permalink / raw)
  To: Wolfgang Bumiller; +Cc: pbs-devel


> On 04/28/2021 4:23 PM Wolfgang Bumiller <w.bumiller@proxmox.com> wrote:
> 
>  
> Do we really need to have more than 1 user agent string in what's
> basically a non-exported utility, though?

I though that suggestion came from you?




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [pbs-devel] [PATCH proxmox-backup 2/2] tools/http: make user agent configurable
@ 2021-04-28 15:44 Dietmar Maurer
  0 siblings, 0 replies; 4+ messages in thread
From: Dietmar Maurer @ 2021-04-28 15:44 UTC (permalink / raw)
  To: Proxmox Backup Server development discussion

Ignore me, I miss-read your patch.

Anyhow, my plan was to work towards are more generic client. IMHO it does
not harm to expose such things.

But yes, we do not use it currently.

> On 04/28/2021 5:31 PM Dietmar Maurer <dietmar@proxmox.com> wrote:
> 
>  
> > On 04/28/2021 4:23 PM Wolfgang Bumiller <w.bumiller@proxmox.com> wrote:
> > 
> >  
> > Do we really need to have more than 1 user agent string in what's
> > basically a non-exported utility, though?
> 
> I though that suggestion came from you?




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [pbs-devel] [PATCH proxmox-backup 2/2] tools/http: make user agent configurable
  2021-04-28 10:03 ` [pbs-devel] [PATCH proxmox-backup 2/2] tools/http: make user agent configurable Dietmar Maurer
@ 2021-04-28 14:23   ` Wolfgang Bumiller
  0 siblings, 0 replies; 4+ messages in thread
From: Wolfgang Bumiller @ 2021-04-28 14:23 UTC (permalink / raw)
  To: Dietmar Maurer; +Cc: pbs-devel

Do we really need to have more than 1 user agent string in what's
basically a non-exported utility, though?

On Wed, Apr 28, 2021 at 12:03:58PM +0200, Dietmar Maurer wrote:
> ---
>  src/tools/http.rs | 18 +++++++++++++-----
>  1 file changed, 13 insertions(+), 5 deletions(-)
> 
> diff --git a/src/tools/http.rs b/src/tools/http.rs
> index a4299fb4..8656e685 100644
> --- a/src/tools/http.rs
> +++ b/src/tools/http.rs
> @@ -103,6 +103,7 @@ impl ProxyConfig {
>  pub struct SimpleHttp {
>      client: Client<HttpsConnector, Body>,
>      proxy_authorization: Option<String>, // Proxy-Authorization header value
> +    user_agent: Option<String>,
>  }
>  
>  impl SimpleHttp {
> @@ -129,7 +130,12 @@ impl SimpleHttp {
>              https.set_proxy(proxy_config);
>          }
>          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> {
> @@ -147,11 +153,13 @@ impl SimpleHttp {
>      }
>  
>      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(
> -            hyper::header::USER_AGENT,
> -            HeaderValue::from_str(Self::DEFAULT_USER_AGENT_STRING)?,
> -        );
> +        request.headers_mut().insert(hyper::header::USER_AGENT, user_agent);
>  
>          self.add_proxy_headers(&mut request)?;
>  
> -- 
> 2.20.1




^ permalink raw reply	[flat|nested] 4+ messages in thread

* [pbs-devel] [PATCH proxmox-backup 2/2] tools/http: make user agent configurable
  2021-04-28 10:03 [pbs-devel] [PATCH proxmox-backup 1/2] tools/http: set USER_AGENT inside request Dietmar Maurer
@ 2021-04-28 10:03 ` Dietmar Maurer
  2021-04-28 14:23   ` Wolfgang Bumiller
  0 siblings, 1 reply; 4+ messages in thread
From: Dietmar Maurer @ 2021-04-28 10:03 UTC (permalink / raw)
  To: pbs-devel

---
 src/tools/http.rs | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)

diff --git a/src/tools/http.rs b/src/tools/http.rs
index a4299fb4..8656e685 100644
--- a/src/tools/http.rs
+++ b/src/tools/http.rs
@@ -103,6 +103,7 @@ impl ProxyConfig {
 pub struct SimpleHttp {
     client: Client<HttpsConnector, Body>,
     proxy_authorization: Option<String>, // Proxy-Authorization header value
+    user_agent: Option<String>,
 }
 
 impl SimpleHttp {
@@ -129,7 +130,12 @@ impl SimpleHttp {
             https.set_proxy(proxy_config);
         }
         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> {
@@ -147,11 +153,13 @@ impl SimpleHttp {
     }
 
     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(
-            hyper::header::USER_AGENT,
-            HeaderValue::from_str(Self::DEFAULT_USER_AGENT_STRING)?,
-        );
+        request.headers_mut().insert(hyper::header::USER_AGENT, user_agent);
 
         self.add_proxy_headers(&mut request)?;
 
-- 
2.20.1




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-04-28 15:45 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-28 15:31 [pbs-devel] [PATCH proxmox-backup 2/2] tools/http: make user agent configurable Dietmar Maurer
  -- strict thread matches above, loose matches on Subject: below --
2021-04-28 15:44 Dietmar Maurer
2021-04-28 10:03 [pbs-devel] [PATCH proxmox-backup 1/2] tools/http: set USER_AGENT inside request Dietmar Maurer
2021-04-28 10:03 ` [pbs-devel] [PATCH proxmox-backup 2/2] tools/http: make user agent configurable Dietmar Maurer
2021-04-28 14:23   ` Wolfgang Bumiller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal