diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-06-21 17:42:32 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-06-21 17:42:32 +0900 |
| commit | f05e1a55cf0d44e9611e06a3d7b4fccdcb90ce7b (patch) | |
| tree | b93311ab2473b988051f0285efb7181afe301fe5 /crates/shirabe/src/util/no_proxy_pattern.rs | |
| parent | 277dc4065d2eb0d6621a6aa56a299a0d2369caf7 (diff) | |
| download | php-shirabe-f05e1a55cf0d44e9611e06a3d7b4fccdcb90ce7b.tar.gz php-shirabe-f05e1a55cf0d44e9611e06a3d7b4fccdcb90ce7b.tar.zst php-shirabe-f05e1a55cf0d44e9611e06a3d7b4fccdcb90ce7b.zip | |
refactor(php-shim): split filter_var into per-filter functions
Replace the dispatch-on-constant filter_var() and filter_var_with_options()
with dedicated filter_var_boolean/url/email/ip and filter_var_int_with_range,
dropping the FILTER_VALIDATE_* constants and updating all call sites.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe/src/util/no_proxy_pattern.rs')
| -rw-r--r-- | crates/shirabe/src/util/no_proxy_pattern.rs | 23 |
1 files changed, 5 insertions, 18 deletions
diff --git a/crates/shirabe/src/util/no_proxy_pattern.rs b/crates/shirabe/src/util/no_proxy_pattern.rs index 08cd92f..3715ea9 100644 --- a/crates/shirabe/src/util/no_proxy_pattern.rs +++ b/crates/shirabe/src/util/no_proxy_pattern.rs @@ -4,10 +4,9 @@ use anyhow::Result; use indexmap::IndexMap; use shirabe_external_packages::composer::pcre::Preg; use shirabe_php_shim::{ - FILTER_VALIDATE_INT, FILTER_VALIDATE_IP, PHP_URL_HOST, PHP_URL_PORT, PHP_URL_SCHEME, PhpMixed, - RuntimeException, array_key_exists, chr, empty, explode, filter_var, filter_var_with_options, - inet_pton, ltrim, parse_url, str_pad, str_repeat, stripos, strlen, strpbrk, strpos, substr, - substr_count, unpack, + PHP_URL_HOST, PHP_URL_PORT, PHP_URL_SCHEME, PhpMixed, RuntimeException, array_key_exists, chr, + empty, explode, filter_var_int_with_range, filter_var_ip, inet_pton, ltrim, parse_url, str_pad, + str_repeat, stripos, strlen, strpbrk, strpos, substr, substr_count, unpack, }; /// Tests URLs against NO_PROXY patterns @@ -271,7 +270,7 @@ impl NoProxyPattern { } // See if this is an ip address - if !filter_var(&host, FILTER_VALIDATE_IP) { + if !filter_var_ip(&host) { return Ok(!modified); } @@ -483,18 +482,6 @@ impl NoProxyPattern { /// Wrapper around filter_var FILTER_VALIDATE_INT fn validate_int(&self, int: &str, min: i64, max: i64) -> bool { - let mut options: IndexMap<String, PhpMixed> = IndexMap::new(); - let mut inner: IndexMap<String, PhpMixed> = IndexMap::new(); - inner.insert("min_range".to_string(), PhpMixed::Int(min)); - inner.insert("max_range".to_string(), PhpMixed::Int(max)); - options.insert( - "options".to_string(), - PhpMixed::Array(inner.into_iter().collect()), - ); - - !matches!( - filter_var_with_options(int, FILTER_VALIDATE_INT, &options), - PhpMixed::Bool(false) - ) + filter_var_int_with_range(int, min, max) } } |
