[pve-devel] [PATCH proxmox] http: use request method from provided param instead of unconditional POST

Lukas Wagner l.wagner at proxmox.com
Mon Aug 4 11:29:19 CEST 2025


On Mon Aug 4, 2025 at 10:06 AM CEST, Lukas Wagner wrote:
> This fixes the "bad uri: POST is missing scheme" error that appeared
> when using the webhook notification targets.
>
> Fixes: a0dc071ee14 ("http: update to ureq3")
> Signed-off-by: Lukas Wagner <l.wagner at proxmox.com>
> ---
>  proxmox-http/src/client/sync.rs | 12 +++++++++---
>  1 file changed, 9 insertions(+), 3 deletions(-)
>
> diff --git a/proxmox-http/src/client/sync.rs b/proxmox-http/src/client/sync.rs
> index b809ee38..fe87a0cf 100644
> --- a/proxmox-http/src/client/sync.rs
> +++ b/proxmox-http/src/client/sync.rs
> @@ -127,7 +127,9 @@ impl HttpClient<String, String> for Client {
>          let (parts, body) = request.into_parts();
>  
>          let agent = self.agent()?;
> -        let mut req = http::Request::post(parts.method.as_str());
> +        let mut req = http::Request::builder()
> +            .method(parts.method.as_str())
> +            .uri(parts.uri);
>  
>          for header in parts.headers.keys() {
>              for value in parts.headers.get_all(header) {
> @@ -182,7 +184,9 @@ impl HttpClient<&[u8], Vec<u8>> for Client {
>          let (parts, body) = request.into_parts();
>  
>          let agent = self.agent()?;
> -        let mut req = http::Request::post(parts.method.as_str());
> +        let mut req = http::Request::builder()
> +            .method(parts.method.as_str())
> +            .uri(parts.uri);
>  
>          for header in parts.headers.keys() {
>              for value in parts.headers.get_all(header) {
> @@ -240,7 +244,9 @@ impl HttpClient<Box<dyn Read>, Box<dyn Read>> for Client {
>          let (parts, body) = request.into_parts();
>  
>          let agent = self.agent()?;
> -        let mut req = http::Request::post(parts.method.as_str());
> +        let mut req = http::Request::builder()
> +            .method(parts.method.as_str())
> +            .uri(parts.uri);
>  
>          for header in parts.headers.keys() {
>              for value in parts.headers.get_all(header) {


Forgot to add to the patch notes: In addition to proxmox-backup and
libpve-rs-perl, please also bump/rebuild proxmox-mail-forward - that one is
always easy to overlook for any notification-related fixes!

Thanks!




More information about the pve-devel mailing list