From b81f5f0b8dad71d352e803947fd1b4e09249451b Mon Sep 17 00:00:00 2001 From: Til Blechschmidt Date: Thu, 25 Mar 2021 21:55:05 +0100 Subject: [PATCH] :loud_sound: Fix empty response from proxy Close #5 --- core/src/services/proxy/jobs/proxy.rs | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/core/src/services/proxy/jobs/proxy.rs b/core/src/services/proxy/jobs/proxy.rs index 75a72874..a9da27cd 100644 --- a/core/src/services/proxy/jobs/proxy.rs +++ b/core/src/services/proxy/jobs/proxy.rs @@ -75,7 +75,21 @@ impl ProxyJob { debug!("{} {} -> {}", req.method(), path, upstream); *req.uri_mut() = format!("http://{}{}", upstream, path).parse().unwrap(); - Ok(self.client.request(req).await?) + + let result = self.client.request(req).await; + + match result { + Ok(res) => Ok(res), + Err(e) => { + error!("Failed to fulfill request to '{}': {}", upstream, e); + let error_message = format!("Unable to forward request to {}: {}", upstream, e); + + Ok(Response::builder() + .status(StatusCode::BAD_GATEWAY) + .body(error_message.into()) + .unwrap()) + } + } } async fn handle_session_request(