From fadc583b8cf33d4ab5725f95867c7ebd27d2ce38 Mon Sep 17 00:00:00 2001 From: Alexander Weiss Date: Tue, 14 Jun 2022 19:55:45 +0200 Subject: [PATCH] REST backend: ensure that url ends with '/' and fix config path --- src/backend/rest.rs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/backend/rest.rs b/src/backend/rest.rs index 7d8feca..4bdbc61 100644 --- a/src/backend/rest.rs +++ b/src/backend/rest.rs @@ -15,8 +15,17 @@ pub struct RestBackend { impl RestBackend { pub fn new(url: &str) -> Self { + let url = if url.ends_with('/') { + Url::parse(url).unwrap() + } else { + // add a trailing '/' if there is none + let mut url = url.to_string(); + url.push('/'); + Url::parse(&url).unwrap() + }; + Self { - url: Url::parse(url).unwrap(), + url, client: Client::new(), } } @@ -49,7 +58,7 @@ impl ReadBackend for RestBackend { return Ok( match self .client - .head(self.url.join("/config").unwrap()) + .head(self.url.join("config").unwrap()) .send() .await? .status()