aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/downloader
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-06-24 21:38:53 +0900
committernsfisis <nsfisis@gmail.com>2026-06-24 21:40:49 +0900
commit7f810b1bb288445ee5376fada752e84ecb1ce211 (patch)
tree631ec748f14757d314baba704c6c175183ed096a /crates/shirabe/src/downloader
parenta8f115666344abe3b606a4a65595ca301e7ac08a (diff)
downloadphp-shirabe-7f810b1bb288445ee5376fada752e84ecb1ce211.tar.gz
php-shirabe-7f810b1bb288445ee5376fada752e84ecb1ce211.tar.zst
php-shirabe-7f810b1bb288445ee5376fada752e84ecb1ce211.zip
feat(process): wire execute output handling to a callback model
Replace the Option<&mut PhpMixed> output plumbing with the IntoExecOutput trait modelling each PHP `$output` case (forward, capture-to-buffer, discard, callback). This lets do_execute pass a real output handler to Process::run, captures output back via get_output, and lets Svn pass its streaming filter handler through execute instead of skipping it.
Diffstat (limited to 'crates/shirabe/src/downloader')
-rw-r--r--crates/shirabe/src/downloader/gzip_downloader.rs2
-rw-r--r--crates/shirabe/src/downloader/rar_downloader.rs2
-rw-r--r--crates/shirabe/src/downloader/xz_downloader.rs2
3 files changed, 3 insertions, 3 deletions
diff --git a/crates/shirabe/src/downloader/gzip_downloader.rs b/crates/shirabe/src/downloader/gzip_downloader.rs
index 8146145..b7b92c6 100644
--- a/crates/shirabe/src/downloader/gzip_downloader.rs
+++ b/crates/shirabe/src/downloader/gzip_downloader.rs
@@ -119,7 +119,7 @@ impl ArchiveDownloader for GzipDownloader {
.map(|s| PhpMixed::String(s.clone()))
.collect(),
),
- Some(&mut process_output),
+ &mut process_output,
None,
)? == 0
{
diff --git a/crates/shirabe/src/downloader/rar_downloader.rs b/crates/shirabe/src/downloader/rar_downloader.rs
index 73d5fdf..88183f9 100644
--- a/crates/shirabe/src/downloader/rar_downloader.rs
+++ b/crates/shirabe/src/downloader/rar_downloader.rs
@@ -92,7 +92,7 @@ impl ArchiveDownloader for RarDownloader {
.map(|s| PhpMixed::String(s.clone()))
.collect(),
),
- Some(&mut process_output),
+ &mut process_output,
None,
)? == 0
{
diff --git a/crates/shirabe/src/downloader/xz_downloader.rs b/crates/shirabe/src/downloader/xz_downloader.rs
index d7f94c3..3e61ba5 100644
--- a/crates/shirabe/src/downloader/xz_downloader.rs
+++ b/crates/shirabe/src/downloader/xz_downloader.rs
@@ -79,7 +79,7 @@ impl ArchiveDownloader for XzDownloader {
.map(|s| PhpMixed::String(s.to_string()))
.collect(),
),
- Some(&mut ignored_output),
+ &mut ignored_output,
None,
)? == 0
{