Volodymyr Panivko created THRIFT-6010:
-----------------------------------------
Summary: Add PSR-18 HTTP transport (TPsrHttpClient) and deprecate
TCurlClient in PHP library
Key: THRIFT-6010
URL: https://issues.apache.org/jira/browse/THRIFT-6010
Project: Thrift
Issue Type: Improvement
Components: PHP - Library
Reporter: Volodymyr Panivko
Introduce a new HTTP transport `Thrift\Transport\TPsrHttpClient` backed by any
PSR-18 `Psr\Http\Client\ClientInterface`. The constructor optionally accepts an
injected client + PSR-7 factories; when omitted, dependencies are
auto-discovered via `php-http/discovery`.
Concrete HTTP client implementations (Guzzle, Symfony HttpClient,
php-http/curl-client) are listed under Composer `suggest` so the library
remains backend-agnostic.
`Thrift\Transport\TCurlClient` (procedural ext-curl) is marked `@deprecated` in
favor of the new class and will be removed in the next version. `THttpClient`
(stream wrappers via fopen) remains as a dependency-free alternative.
Includes new unit tests using an injected fake `ClientInterface` (no `phpmock`
mocking of `curl_*`/`fopen` required) and a new `lib/php/UPGRADING.md`
migration guide.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)