[ 
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)

Reply via email to