aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/repository
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-06-06 19:47:36 +0900
committernsfisis <nsfisis@gmail.com>2026-06-06 19:47:36 +0900
commitaf4b9fcba1206e3fcc97fc243ffc674f85547942 (patch)
tree7066e219d80024150919316af900c666957a64fb /crates/shirabe/src/repository
parentd9090c4c52fa29ee1569aedf8be858bf78001d7b (diff)
downloadphp-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/repository')
-rw-r--r--crates/shirabe/src/repository/composer_repository.rs5
-rw-r--r--crates/shirabe/src/repository/vcs/forgejo_driver.rs10
-rw-r--r--crates/shirabe/src/repository/vcs/git_bitbucket_driver.rs7
-rw-r--r--crates/shirabe/src/repository/vcs/github_driver.rs16
-rw-r--r--crates/shirabe/src/repository/vcs/gitlab_driver.rs24
5 files changed, 17 insertions, 45 deletions
diff --git a/crates/shirabe/src/repository/composer_repository.rs b/crates/shirabe/src/repository/composer_repository.rs
index 74f1426..0d2fa2f 100644
--- a/crates/shirabe/src/repository/composer_repository.rs
+++ b/crates/shirabe/src/repository/composer_repository.rs
@@ -3253,14 +3253,15 @@ impl ComposerRepository {
// if the file is in the cache, we fake a 304 Not Modified to allow the process to continue
if last_modified_time.is_some() {
- let resp = Response::new_fake(&self.url, 304, IndexMap::new(), String::new());
+ let resp = Response::new(self.url.clone(), Some(304), Vec::new(), Some(String::new()));
return self.async_fetch_file_accept(resp, filename, cache_key);
}
// special error code returned when network is being artificially disabled
if let Some(te) = e.downcast_ref::<TransportException>() {
if te.get_status_code() == Some(499) {
- let resp = Response::new_fake(&self.url, 404, IndexMap::new(), String::new());
+ let resp =
+ Response::new(self.url.clone(), Some(404), Vec::new(), Some(String::new()));
return self.async_fetch_file_accept(resp, filename, cache_key);
}
}
diff --git a/crates/shirabe/src/repository/vcs/forgejo_driver.rs b/crates/shirabe/src/repository/vcs/forgejo_driver.rs
index ca7e9dd..30a0932 100644
--- a/crates/shirabe/src/repository/vcs/forgejo_driver.rs
+++ b/crates/shirabe/src/repository/vcs/forgejo_driver.rs
@@ -625,17 +625,11 @@ impl ForgejoDriver {
})?;
return Ok(Response::new(
- {
- let mut m = IndexMap::new();
- m.insert("url".to_string(), PhpMixed::String("dummy".to_string()));
- m
- },
+ "dummy".to_string(),
Some(200),
vec![],
Some("null".to_string()),
- )
- .unwrap()
- .unwrap());
+ ));
}
if !self.inner.io.has_authentication(&self.inner.origin_url) {
diff --git a/crates/shirabe/src/repository/vcs/git_bitbucket_driver.rs b/crates/shirabe/src/repository/vcs/git_bitbucket_driver.rs
index 85288bd..644ac90 100644
--- a/crates/shirabe/src/repository/vcs/git_bitbucket_driver.rs
+++ b/crates/shirabe/src/repository/vcs/git_bitbucket_driver.rs
@@ -728,15 +728,12 @@ impl GitBitbucketDriver {
if !self.inner.io.is_interactive() && fetching_repo_data {
self.attempt_clone_fallback()?;
- let mut headers: IndexMap<String, PhpMixed> = IndexMap::new();
- headers
- .insert("url".to_string(), PhpMixed::String("dummy".to_string()));
return Ok(Response::new(
- headers,
+ "dummy".to_string(),
Some(200),
vec![],
Some("null".to_string()),
- )??);
+ ));
}
}
}
diff --git a/crates/shirabe/src/repository/vcs/github_driver.rs b/crates/shirabe/src/repository/vcs/github_driver.rs
index 076f4a0..093cd03 100644
--- a/crates/shirabe/src/repository/vcs/github_driver.rs
+++ b/crates/shirabe/src/repository/vcs/github_driver.rs
@@ -1046,16 +1046,12 @@ impl GitHubDriver {
self.attempt_clone_fallback(Some(&e))
.map_err(|err| TransportException::new(err.to_string(), 0))?;
- let mut req = IndexMap::new();
- req.insert("url".to_string(), PhpMixed::String("dummy".to_string()));
return Ok(Response::new(
- req,
+ "dummy".to_string(),
Some(200),
vec![],
Some("null".to_string()),
- )
- .unwrap()
- .unwrap());
+ ));
}
let mut scopes_issued: Vec<String> = vec![];
@@ -1112,16 +1108,12 @@ impl GitHubDriver {
self.attempt_clone_fallback(Some(&e))
.map_err(|err| TransportException::new(err.to_string(), 0))?;
- let mut req = IndexMap::new();
- req.insert("url".to_string(), PhpMixed::String("dummy".to_string()));
return Ok(Response::new(
- req,
+ "dummy".to_string(),
Some(200),
vec![],
Some("null".to_string()),
- )
- .unwrap()
- .unwrap());
+ ));
}
let rate_limited = git_hub_util
diff --git a/crates/shirabe/src/repository/vcs/gitlab_driver.rs b/crates/shirabe/src/repository/vcs/gitlab_driver.rs
index 6f2c4e9..3e2cd38 100644
--- a/crates/shirabe/src/repository/vcs/gitlab_driver.rs
+++ b/crates/shirabe/src/repository/vcs/gitlab_driver.rs
@@ -841,16 +841,12 @@ impl GitLabDriver {
self.attempt_clone_fallback()
.map_err(|e| TransportException::new(e.to_string(), 0))?;
- let mut req = IndexMap::new();
- req.insert("url".to_string(), PhpMixed::String("dummy".to_string()));
return Ok(Response::new(
- req,
+ "dummy".to_string(),
Some(200),
vec![],
Some("null".to_string()),
- )
- .unwrap()
- .unwrap());
+ ));
}
}
@@ -919,16 +915,12 @@ impl GitLabDriver {
self.attempt_clone_fallback()
.map_err(|err| TransportException::new(err.to_string(), 0))?;
- let mut req = IndexMap::new();
- req.insert("url".to_string(), PhpMixed::String("dummy".to_string()));
return Ok(Response::new(
- req,
+ "dummy".to_string(),
Some(200),
vec![],
Some("null".to_string()),
- )
- .unwrap()
- .unwrap());
+ ));
}
self.inner.io.write_error3(
&format!(
@@ -960,16 +952,12 @@ impl GitLabDriver {
self.attempt_clone_fallback()
.map_err(|err| TransportException::new(err.to_string(), 0))?;
- let mut req = IndexMap::new();
- req.insert("url".to_string(), PhpMixed::String("dummy".to_string()));
return Ok(Response::new(
- req,
+ "dummy".to_string(),
Some(200),
vec![],
Some("null".to_string()),
- )
- .unwrap()
- .unwrap());
+ ));
}
Err(e)