aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/util/http
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-06-12 03:19:34 +0900
committernsfisis <nsfisis@gmail.com>2026-06-12 03:19:34 +0900
commitefe5bdb1987411a473d4af15451a376d20928245 (patch)
tree54d3c9e7ab92cfc7d7ec3d90ca3f29e828d929c4 /crates/shirabe/src/util/http
parent981cae63d9777b877aa9f96907c7995ec020fbf9 (diff)
downloadphp-shirabe-efe5bdb1987411a473d4af15451a376d20928245.tar.gz
php-shirabe-efe5bdb1987411a473d4af15451a376d20928245.tar.zst
php-shirabe-efe5bdb1987411a473d4af15451a376d20928245.zip
refactor(php-shim): replace literal sprintf calls with format!
Convert every sprintf() call with a compile-time literal format string to format!, implementing Display for PhpMixed (delegating to php_to_string) so PhpMixed values render with PHP string semantics through {}. Also merge the format!-wrapped and conditional-literal dynamic sites into single format! calls. Genuinely runtime format strings (table styles, configurable error messages, command synopsis, progress-bar modifiers, regex-built messages) still go through sprintf. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src/util/http')
-rw-r--r--crates/shirabe/src/util/http/curl_downloader.rs40
1 files changed, 18 insertions, 22 deletions
diff --git a/crates/shirabe/src/util/http/curl_downloader.rs b/crates/shirabe/src/util/http/curl_downloader.rs
index a0ef54f..f1056cc 100644
--- a/crates/shirabe/src/util/http/curl_downloader.rs
+++ b/crates/shirabe/src/util/http/curl_downloader.rs
@@ -1527,15 +1527,13 @@ impl CurlDownloader {
&job,
anyhow::anyhow!(
TransportException::new(
- sprintf(
- "IP \"%s\" is blocked for \"%s\".",
- &[
- primary_ip.clone(),
- progress_now
- .get("url")
- .cloned()
- .unwrap_or(PhpMixed::Null),
- ],
+ format!(
+ "IP \"{}\" is blocked for \"{}\".",
+ primary_ip.clone(),
+ progress_now
+ .get("url")
+ .cloned()
+ .unwrap_or(PhpMixed::Null),
),
0,
)
@@ -1611,19 +1609,17 @@ impl CurlDownloader {
if !target_url.is_empty() {
self.io.write_error3(
- &sprintf(
- "Following redirect (%u) %s",
- &[
- PhpMixed::Int(
- job.get("attributes")
- .and_then(|v| v.as_array())
- .and_then(|a| a.get("redirects"))
- .and_then(|b| b.as_int())
- .unwrap_or(0)
- + 1,
- ),
- PhpMixed::String(Url::sanitize(target_url.clone())),
- ],
+ &format!(
+ "Following redirect ({}) {}",
+ PhpMixed::Int(
+ job.get("attributes")
+ .and_then(|v| v.as_array())
+ .and_then(|a| a.get("redirects"))
+ .and_then(|b| b.as_int())
+ .unwrap_or(0)
+ + 1,
+ ),
+ PhpMixed::String(Url::sanitize(target_url.clone())),
),
true,
crate::io::DEBUG,