From a8b6bbe9f42eee6d1c771a4d38080d6a98626792 Mon Sep 17 00:00:00 2001 From: Matthew Gumport Date: Fri, 5 Apr 2024 16:37:35 -0700 Subject: [PATCH] address string interpolation outside of proper context https://github.com/cloudflare/pingora/issues/181 Ran: ``` rg --pcre2 '(? Result<()> { let data = self.serialize()?; - let dir_path = dir_path.to_owned(); + let dir_str = dir_path.to_owned(); tokio::task::spawn_blocking(move || { - let dir_path = Path::new(&dir_path); - std::fs::create_dir_all(dir_path).or_err(InternalError, "fail to create {dir_path}")?; + let dir_path = Path::new(&dir_str); + std::fs::create_dir_all(dir_path) + .or_err_with(InternalError, || format!("fail to create {dir_str}"))?; let file_path = dir_path.join(FILE_NAME); - let mut file = - File::create(file_path).or_err(InternalError, "fail to create {file_path}")?; - file.write_all(&data) - .or_err(InternalError, "fail to write to {file_path}") + let mut file = File::create(&file_path).or_err_with(InternalError, || { + format!("fail to create {}", file_path.display()) + })?; + file.write_all(&data).or_err_with(InternalError, || { + format!("fail to write to {}", file_path.display()) + }) }) .await .or_err(InternalError, "async blocking IO failure")? @@ -240,8 +243,9 @@ impl EvictionManager for Manager { let dir_path = dir_path.to_owned(); let data = tokio::task::spawn_blocking(move || { let file_path = Path::new(&dir_path).join(FILE_NAME); - let mut file = - File::open(file_path).or_err(InternalError, "fail to open {file_path}")?; + let mut file = File::open(file_path.clone()).or_err_with(InternalError, || { + format!("fail to open {}", file_path.display()) + })?; let mut buffer = Vec::with_capacity(8192); file.read_to_end(&mut buffer) .or_err(InternalError, "fail to write to {file_path}")?; diff --git a/pingora-core/src/listeners/tls.rs b/pingora-core/src/listeners/tls.rs index c8f0e74..655346f 100644 --- a/pingora-core/src/listeners/tls.rs +++ b/pingora-core/src/listeners/tls.rs @@ -63,10 +63,12 @@ impl TlsSettings { )?; accept_builder .set_private_key_file(key_path, SslFiletype::PEM) - .or_err(TLS_CONF_ERR, "fail to read key file {key_path}")?; + .or_err_with(TLS_CONF_ERR, || format!("fail to read key file {key_path}"))?; accept_builder .set_certificate_chain_file(cert_path) - .or_err(TLS_CONF_ERR, "fail to read cert file {cert_path}")?; + .or_err_with(TLS_CONF_ERR, || { + format!("fail to read cert file {cert_path}") + })?; Ok(TlsSettings { accept_builder, callbacks: None,