aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-08-16 16:25:18 +0900
committernsfisis <nsfisis@gmail.com>2026-08-16 17:34:46 +0900
commitbe794e58bfb36b5ab6643f264b67766cd22e4d77 (patch)
tree78ae592b795a5b275b8219744da257863440556a /crates
parent5c9bfffcac065f03da57529aed7287b8167d4bef (diff)
downloadphp-shirabe-be794e58bfb36b5ab6643f264b67766cd22e4d77.tar.gz
php-shirabe-be794e58bfb36b5ab6643f264b67766cd22e4d77.tar.zst
php-shirabe-be794e58bfb36b5ab6643f264b67766cd22e4d77.zip
fix(proxy-manager): read proxy settings from $_SERVER
ProxyManager::initProxyData() reads $_SERVER[$name], a startup snapshot, while the port read the live process environment. A putenv() issued after startup changed the proxy the port picked but not the one PHP would pick. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates')
-rw-r--r--crates/shirabe/src/util/http/proxy_manager.rs5
1 files changed, 3 insertions, 2 deletions
diff --git a/crates/shirabe/src/util/http/proxy_manager.rs b/crates/shirabe/src/util/http/proxy_manager.rs
index 13f0b521..3101f6e0 100644
--- a/crates/shirabe/src/util/http/proxy_manager.rs
+++ b/crates/shirabe/src/util/http/proxy_manager.rs
@@ -4,6 +4,7 @@ use crate::downloader::TransportException;
use crate::util::NoProxyPattern;
use crate::util::http::ProxyItem;
use crate::util::http::RequestProxy;
+use shirabe_php_shim::PHP_SERVER;
use std::sync::Mutex;
use std::sync::atomic::{AtomicU64, Ordering};
@@ -133,10 +134,10 @@ impl ProxyManager {
fn get_proxy_env(env_name: &str) -> (Option<String>, String) {
for name in [env_name.to_lowercase(), env_name.to_uppercase()] {
- if let Ok(val) = std::env::var(&name)
+ if let Some(val) = PHP_SERVER.lock().unwrap().get(&name)
&& !val.is_empty()
{
- return (Some(val), name);
+ return (Some(val.to_string_lossy().into_owned()), name);
}
}
(None, String::new())