diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-08-31 00:15:52 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-08-31 00:15:52 +0900 |
| commit | 6a6ec1b8f8a5c70d21f3772ce637b763e8ab21ea (patch) | |
| tree | 5a23dda75a0a8eb39478b77da82cf582e21a1d2c /crates/shirabe-php-rpc/php/guards/Composer/Util/Http | |
| parent | dc1f030e3904677cd65eac0a90c1d850e0ad1bbf (diff) | |
| download | php-shirabe-6a6ec1b8f8a5c70d21f3772ce637b763e8ab21ea.tar.gz php-shirabe-6a6ec1b8f8a5c70d21f3772ce637b763e8ab21ea.tar.zst php-shirabe-6a6ec1b8f8a5c70d21f3772ce637b763e8ab21ea.zip | |
feat(plugin): carry Http\Response across as a materialized value
A response is built for one request and the graph never retains it, so there
is no entity for a handle to point at. The child holds a real instance
instead, revived from the object record the wire carries, and collect() frees
the copy each world holds — which is what that method is for. The
value-object rule rejects the class only because collect() assigns to $this,
so the category comes from an overrides.list entry.
HttpDownloader::get() and copy() answer with one.
Two gaps stay: decodeJson() reaches Composer\Json\JsonFile, which a guard
shadows, and Composer answers a curl request with the CurlResponse subclass
where this port flattens the value into a Response.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe-php-rpc/php/guards/Composer/Util/Http')
| -rw-r--r-- | crates/shirabe-php-rpc/php/guards/Composer/Util/Http/CurlResponse.php | 40 | ||||
| -rw-r--r-- | crates/shirabe-php-rpc/php/guards/Composer/Util/Http/Response.php | 57 |
2 files changed, 40 insertions, 57 deletions
diff --git a/crates/shirabe-php-rpc/php/guards/Composer/Util/Http/CurlResponse.php b/crates/shirabe-php-rpc/php/guards/Composer/Util/Http/CurlResponse.php index ae229589..ffb000f3 100644 --- a/crates/shirabe-php-rpc/php/guards/Composer/Util/Http/CurlResponse.php +++ b/crates/shirabe-php-rpc/php/guards/Composer/Util/Http/CurlResponse.php @@ -19,4 +19,44 @@ class CurlResponse extends Response { \ShirabeUnsupportedClass::fail(self::class, 'getCurlInfo'); } + + public function getStatusCode(): int + { + \ShirabeUnsupportedClass::fail(self::class, 'getStatusCode'); + } + + public function getStatusMessage(): ?string + { + \ShirabeUnsupportedClass::fail(self::class, 'getStatusMessage'); + } + + public function getHeaders(): array + { + \ShirabeUnsupportedClass::fail(self::class, 'getHeaders'); + } + + public function getHeader(string $name): ?string + { + \ShirabeUnsupportedClass::fail(self::class, 'getHeader'); + } + + public function getBody(): ?string + { + \ShirabeUnsupportedClass::fail(self::class, 'getBody'); + } + + public function decodeJson() + { + \ShirabeUnsupportedClass::fail(self::class, 'decodeJson'); + } + + public function collect(): void + { + \ShirabeUnsupportedClass::fail(self::class, 'collect'); + } + + public static function findHeaderValue(array $headers, string $name): ?string + { + \ShirabeUnsupportedClass::fail(self::class, 'findHeaderValue'); + } } diff --git a/crates/shirabe-php-rpc/php/guards/Composer/Util/Http/Response.php b/crates/shirabe-php-rpc/php/guards/Composer/Util/Http/Response.php deleted file mode 100644 index 61eebb7f..00000000 --- a/crates/shirabe-php-rpc/php/guards/Composer/Util/Http/Response.php +++ /dev/null @@ -1,57 +0,0 @@ -<?php - -// Generated by scripts/plugin-stub-generator; do not edit by hand. -// Guard for Composer\Util\Http\Response. -// The Rust side owns this class and the worker has no proxy for it, so this -// declaration shadows the real one: the constants and the hierarchy stay, while -// constructing it or calling anything on it raises an explicit error. - -namespace Composer\Util\Http; - -class Response -{ - public function __construct(array $request, ?int $code, array $headers, ?string $body) - { - \ShirabeUnsupportedClass::fail(self::class, '__construct'); - } - - public function getStatusCode(): int - { - \ShirabeUnsupportedClass::fail(self::class, 'getStatusCode'); - } - - public function getStatusMessage(): ?string - { - \ShirabeUnsupportedClass::fail(self::class, 'getStatusMessage'); - } - - public function getHeaders(): array - { - \ShirabeUnsupportedClass::fail(self::class, 'getHeaders'); - } - - public function getHeader(string $name): ?string - { - \ShirabeUnsupportedClass::fail(self::class, 'getHeader'); - } - - public function getBody(): ?string - { - \ShirabeUnsupportedClass::fail(self::class, 'getBody'); - } - - public function decodeJson() - { - \ShirabeUnsupportedClass::fail(self::class, 'decodeJson'); - } - - public function collect(): void - { - \ShirabeUnsupportedClass::fail(self::class, 'collect'); - } - - public static function findHeaderValue(array $headers, string $name): ?string - { - \ShirabeUnsupportedClass::fail(self::class, 'findHeaderValue'); - } -} |
