diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-06-06 19:47:36 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-06-06 19:47:36 +0900 |
| commit | af4b9fcba1206e3fcc97fc243ffc674f85547942 (patch) | |
| tree | 7066e219d80024150919316af900c666957a64fb /crates/shirabe/src/util/http/curl_downloader.rs | |
| parent | d9090c4c52fa29ee1569aedf8be858bf78001d7b (diff) | |
| download | php-shirabe-af4b9fcba1206e3fcc97fc243ffc674f85547942.tar.gz php-shirabe-af4b9fcba1206e3fcc97fc243ffc674f85547942.tar.zst php-shirabe-af4b9fcba1206e3fcc97fc243ffc674f85547942.zip | |
refactor(http-response): take url directly instead of request map
Response only ever reads the url out of the request array, so accept it
as a String directly. With url always present the 'url key missing'
LogicException can no longer fire, so Response::new and CurlResponse::new
return Self instead of a double Result. Also drops the unused
from_php_mixed/to_php_mixed stubs and the request_to_map helper.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src/util/http/curl_downloader.rs')
| -rw-r--r-- | crates/shirabe/src/util/http/curl_downloader.rs | 76 |
1 files changed, 26 insertions, 50 deletions
diff --git a/crates/shirabe/src/util/http/curl_downloader.rs b/crates/shirabe/src/util/http/curl_downloader.rs index b86564f..9d572fa 100644 --- a/crates/shirabe/src/util/http/curl_downloader.rs +++ b/crates/shirabe/src/util/http/curl_downloader.rs @@ -1060,31 +1060,19 @@ impl CurlDownloader { ); } contents = c; - response = Some( - CurlResponse::new( - { - let mut m: IndexMap<String, PhpMixed> = IndexMap::new(); - m.insert( - "url".to_string(), - PhpMixed::String( - job.get("url") - .and_then(|v| v.as_string()) - .unwrap_or("") - .to_string(), - ), - ); - m - }, - status_code, - headers.clone().unwrap_or_default(), - contents.as_string().map(|s| s.to_string()), - progress - .iter() - .map(|(k, v)| (k.clone(), (**v).clone())) - .collect(), - )? - .map_err(|e| anyhow::anyhow!(e.message))?, - ); + response = Some(CurlResponse::new( + job.get("url") + .and_then(|v| v.as_string()) + .unwrap_or("") + .to_string(), + status_code, + headers.clone().unwrap_or_default(), + contents.as_string().map(|s| s.to_string()), + progress + .iter() + .map(|(k, v)| (k.clone(), (**v).clone())) + .collect(), + )); self.io.write_error3( &format!( "[{}] {}", @@ -1139,31 +1127,19 @@ impl CurlDownloader { ); } - response = Some( - CurlResponse::new( - { - let mut m: IndexMap<String, PhpMixed> = IndexMap::new(); - m.insert( - "url".to_string(), - PhpMixed::String( - job.get("url") - .and_then(|v| v.as_string()) - .unwrap_or("") - .to_string(), - ), - ); - m - }, - status_code, - headers.clone().unwrap_or_default(), - contents.as_string().map(|s| s.to_string()), - progress - .iter() - .map(|(k, v)| (k.clone(), (**v).clone())) - .collect(), - )? - .map_err(|e| anyhow::anyhow!(e.message))?, - ); + response = Some(CurlResponse::new( + job.get("url") + .and_then(|v| v.as_string()) + .unwrap_or("") + .to_string(), + status_code, + headers.clone().unwrap_or_default(), + contents.as_string().map(|s| s.to_string()), + progress + .iter() + .map(|(k, v)| (k.clone(), (**v).clone())) + .collect(), + )); self.io.write_error3( &format!( "[{}] {}", |
