aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/tests
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-07-16 03:27:19 +0900
committernsfisis <nsfisis@gmail.com>2026-07-16 03:27:19 +0900
commit5b462768286c2a260882df13551400c23e2dd13a (patch)
tree0348f6003146b52eddb194eb935109a306655611 /crates/shirabe/tests
parent7f6fab27ab088925ff5640f4a6767e7c19cd1fb9 (diff)
downloadphp-shirabe-5b462768286c2a260882df13551400c23e2dd13a.tar.gz
php-shirabe-5b462768286c2a260882df13551400c23e2dd13a.tar.zst
php-shirabe-5b462768286c2a260882df13551400c23e2dd13a.zip
refactor(remote-filesystem): return headers from copy/get_contents
Wrap RemoteFilesystem in Rc<RefCell<>> inside HttpDownloader, in prep for the upcoming &self conversion of add()/get(). copy()/get_contents() now bundle the response headers into their return value instead of requiring a follow-up get_last_headers() call, since two separate calls through a shared RefCell could otherwise race: nothing would guarantee the reader observes the headers from its own request rather than one clobbered by a concurrently borrowed call. get_last_headers() itself is left in place, mirroring RemoteFilesystem::getLastHeaders() in PHP.
Diffstat (limited to 'crates/shirabe/tests')
-rw-r--r--crates/shirabe/tests/util/remote_filesystem_test.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/crates/shirabe/tests/util/remote_filesystem_test.rs b/crates/shirabe/tests/util/remote_filesystem_test.rs
index 0fdc81b3..43f0aae0 100644
--- a/crates/shirabe/tests/util/remote_filesystem_test.rs
+++ b/crates/shirabe/tests/util/remote_filesystem_test.rs
@@ -235,7 +235,7 @@ fn test_get_contents() {
std::rc::Rc::new(std::cell::RefCell::new(IOStub::new()));
let mut fs = RemoteFilesystem::new(io, config_mock(), IndexMap::new(), false, None);
- let res = fs
+ let (res, _headers) = fs
.get_contents(
"http://example.org",
&format!("file://{}", this_file()),
@@ -262,7 +262,8 @@ fn test_copy() {
false,
IndexMap::new()
)
- .unwrap(),
+ .unwrap()
+ .0,
GetResult::True
));
assert!(std::path::Path::new(&file).exists());
@@ -358,7 +359,7 @@ fn test_bit_bucket_public_download() {
let hostname = parse_url(url, PHP_URL_HOST);
let hostname = hostname.as_string().unwrap_or("");
- let result = rfs
+ let (result, _headers) = rfs
.get_contents(hostname, url, false, IndexMap::new())
.unwrap();