From fd40d69ae0b41f75db9ccaf187bd18cb19f6d3d3 Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Wed, 3 Jul 2019 12:00:43 +0200 Subject: [PATCH] src/server/rest.rs: avoid unwrap --- src/server/rest.rs | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/server/rest.rs b/src/server/rest.rs index 273feba3..8ff4b685 100644 --- a/src/server/rest.rs +++ b/src/server/rest.rs @@ -49,8 +49,14 @@ impl MakeService<&tokio_openssl::SslStream> for RestServe type Service = ApiService; type Future = Box + Send>; fn make_service(&mut self, ctx: &tokio_openssl::SslStream) -> Self::Future { - let peer = ctx.get_ref().get_ref().peer_addr().unwrap(); - Box::new(future::ok(ApiService { peer, api_config: self.api_config.clone() })) + match ctx.get_ref().get_ref().peer_addr() { + Err(err) => { + Box::new(future::err(format_err!("unable to get peer address - {}", err))) + } + Ok(peer) => { + Box::new(future::ok(ApiService { peer, api_config: self.api_config.clone() })) + } + } } } @@ -63,8 +69,14 @@ impl MakeService<&tokio::net::TcpStream> for RestServer type Service = ApiService; type Future = Box + Send>; fn make_service(&mut self, ctx: &tokio::net::TcpStream) -> Self::Future { - let peer = ctx.peer_addr().unwrap(); - Box::new(future::ok(ApiService { peer, api_config: self.api_config.clone() })) + match ctx.peer_addr() { + Err(err) => { + Box::new(future::err(format_err!("unable to get peer address - {}", err))) + } + Ok(peer) => { + Box::new(future::ok(ApiService { peer, api_config: self.api_config.clone() })) + } + } } }