From ae3241b634cb67f7c15b31c9fd52bcba95a5a3c7 Mon Sep 17 00:00:00 2001 From: Kevin Zimmerman <4733573+kczimm@users.noreply.github.com> Date: Tue, 25 Jul 2023 19:44:04 -0500 Subject: [PATCH] use Result::map_err and ? in Tls::new --- src/tls.rs | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/src/tls.rs b/src/tls.rs index 6c4a7f5..01383d8 100644 --- a/src/tls.rs +++ b/src/tls.rs @@ -44,25 +44,17 @@ impl Tls { pub fn new() -> Result { let config = get_config(); - let certs = match load_certs(Path::new(&config.general.tls_certificate.unwrap())) { - Ok(certs) => certs, - Err(_) => return Err(Error::TlsError), - }; + let certs = load_certs(Path::new(&config.general.tls_certificate.unwrap())) + .map_err(|_| Error::TlsError)?; + let key_der = load_keys(Path::new(&config.general.tls_private_key.unwrap())) + .map_err(|_| Error::TlsError)? + .remove(0); - let mut keys = match load_keys(Path::new(&config.general.tls_private_key.unwrap())) { - Ok(keys) => keys, - Err(_) => return Err(Error::TlsError), - }; - - let config = match rustls::ServerConfig::builder() + let config = rustls::ServerConfig::builder() .with_safe_defaults() .with_no_client_auth() - .with_single_cert(certs, keys.remove(0)) - .map_err(|err| std::io::Error::new(std::io::ErrorKind::InvalidInput, err)) - { - Ok(c) => c, - Err(_) => return Err(Error::TlsError), - }; + .with_single_cert(certs, key_der) + .map_err(|_| Error::TlsError)?; Ok(Tls { acceptor: TlsAcceptor::from(Arc::new(config)),