From bc1003c467421c6b4d761b0f47ba6bae48506e42 Mon Sep 17 00:00:00 2001 From: asonix Date: Sat, 20 Jun 2020 10:06:01 -0500 Subject: [PATCH] Don't overwrite listener URI --- src/jobs/instance.rs | 11 ++++++----- src/jobs/nodeinfo.rs | 11 ++++++----- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/jobs/instance.rs b/src/jobs/instance.rs index 719c71b..2e0520e 100644 --- a/src/jobs/instance.rs +++ b/src/jobs/instance.rs @@ -20,7 +20,7 @@ impl QueryInstance { } } - async fn perform(mut self, state: JobState) -> Result<(), Error> { + async fn perform(self, state: JobState) -> Result<(), Error> { let (o1, o2) = join!( state.node_cache.is_contact_outdated(&self.listener), state.node_cache.is_instance_outdated(&self.listener), @@ -30,13 +30,14 @@ impl QueryInstance { return Ok(()); } - self.listener.set_fragment(None); - self.listener.set_query(None); - self.listener.set_path("api/v1/instance"); + let mut instance_uri = self.listener.clone(); + instance_uri.set_fragment(None); + instance_uri.set_query(None); + instance_uri.set_path("api/v1/instance"); let instance = state .requests - .fetch::(self.listener.as_str()) + .fetch::(instance_uri.as_str()) .await?; let description = if instance.description.is_empty() { diff --git a/src/jobs/nodeinfo.rs b/src/jobs/nodeinfo.rs index 3805f65..85de6e6 100644 --- a/src/jobs/nodeinfo.rs +++ b/src/jobs/nodeinfo.rs @@ -16,18 +16,19 @@ impl QueryNodeinfo { } } - async fn perform(mut self, state: JobState) -> Result<(), Error> { + async fn perform(self, state: JobState) -> Result<(), Error> { if !state.node_cache.is_nodeinfo_outdated(&self.listener).await { return Ok(()); } - self.listener.set_fragment(None); - self.listener.set_query(None); - self.listener.set_path(".well-known/nodeinfo"); + let mut well_known_uri = self.listener.clone(); + well_known_uri.set_fragment(None); + well_known_uri.set_query(None); + well_known_uri.set_path(".well-known/nodeinfo"); let well_known = state .requests - .fetch::(self.listener.as_str()) + .fetch::(well_known_uri.as_str()) .await?; let href = if let Some(link) = well_known.links.into_iter().find(|l| l.rel.is_supported()) {