[
https://issues.apache.org/jira/browse/THRIFT-6010?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Volodymyr Panivko reassigned THRIFT-6010:
-----------------------------------------
Assignee: Volodymyr Panivko
> 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
> Assignee: Volodymyr Panivko
> Priority: Major
>
> 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)