From 8538a375a4ddcfad3fabc8d19ca41c148136b63b Mon Sep 17 00:00:00 2001 From: nsfisis Date: Sat, 20 Jun 2026 22:11:59 +0900 Subject: feat(php-shim): implement parse_url and filter_var URL/boolean filters Back parse_url/parse_url_all with reqwest::Url and add the FILTER_VALIDATE_URL and FILTER_VALIDATE_BOOLEAN arms to filter_var, so Config::prohibit_url_by_config no longer hits todo!(). reqwest::Url is not a byte-for-byte port of PHP's parser; the divergences are noted with TODO(phase-c). Switch the scheme in_array in prohibit_url_by_config to strict: the needle is a string-or-null and the haystack holds only non-numeric string literals, so loose and strict comparison are provably equivalent here, avoiding a dependency on PHP loose `==` semantics. Co-Authored-By: Claude Opus 4.8 (1M context) --- crates/shirabe-php-shim/Cargo.toml | 1 + 1 file changed, 1 insertion(+) (limited to 'crates/shirabe-php-shim/Cargo.toml') diff --git a/crates/shirabe-php-shim/Cargo.toml b/crates/shirabe-php-shim/Cargo.toml index abfe89e..797191e 100644 --- a/crates/shirabe-php-shim/Cargo.toml +++ b/crates/shirabe-php-shim/Cargo.toml @@ -9,6 +9,7 @@ chrono.workspace = true fastrand.workspace = true indexmap.workspace = true regex.workspace = true +reqwest.workspace = true serde.workspace = true serde_json.workspace = true zip.workspace = true -- cgit v1.3.1