From b4b08d6ff76e4948dda6e4c8c8d36154204650ae Mon Sep 17 00:00:00 2001 From: Lars Wirzenius Date: Wed, 23 Dec 2020 19:47:35 +0200 Subject: feat! only specify base URL of server, without /chunks --- src/client.rs | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/client.rs b/src/client.rs index 41b8ae2..af8d65e 100644 --- a/src/client.rs +++ b/src/client.rs @@ -90,11 +90,15 @@ impl BackupClient { &self.base_url } + fn chunks_url(&self) -> String { + format!("{}/chunks", self.base_url()) + } + pub fn has_chunk(&self, meta: &ChunkMeta) -> anyhow::Result> { trace!("has_chunk: url={:?}", self.base_url()); let req = self .client - .get(self.base_url()) + .get(&self.chunks_url()) .query(&[("sha256", meta.sha256())]) .build()?; @@ -123,7 +127,7 @@ impl BackupClient { pub fn upload_chunk(&self, meta: ChunkMeta, chunk: DataChunk) -> anyhow::Result { let res = self .client - .post(self.base_url()) + .post(&self.chunks_url()) .header("chunk-meta", meta.to_json()) .body(chunk.data().to_vec()) .send()?; @@ -145,7 +149,7 @@ impl BackupClient { ) -> anyhow::Result { let res = self .client - .post(self.base_url()) + .post(&self.chunks_url()) .header("chunk-meta", meta.to_json()) .body(serde_json::to_string(&gen)?) .send()?; @@ -176,7 +180,7 @@ impl BackupClient { } pub fn list_generations(&self) -> anyhow::Result> { - let url = format!("{}/?generation=true", self.base_url()); + let url = format!("{}?generation=true", &self.chunks_url()); trace!("list_generations: url={:?}", url); let req = self.client.get(&url).build()?; let res = self.client.execute(req)?; @@ -189,7 +193,7 @@ impl BackupClient { } pub fn fetch_chunk(&self, chunk_id: &ChunkId) -> anyhow::Result { - let url = format!("{}/{}", self.base_url(), chunk_id); + let url = format!("{}/{}", &self.chunks_url(), chunk_id); trace!("fetch_chunk: url={:?}", url); let req = self.client.get(&url).build()?; let res = self.client.execute(req)?; @@ -203,7 +207,7 @@ impl BackupClient { } pub fn fetch_generation(&self, gen_id: &str) -> anyhow::Result { - let url = format!("{}/{}", self.base_url(), gen_id); + let url = format!("{}/{}", &self.chunks_url(), gen_id); trace!("fetch_generation: url={:?}", url); let req = self.client.get(&url).build()?; let res = self.client.execute(req)?; -- cgit v1.2.1