[
https://issues.apache.org/jira/browse/THRIFT-6023?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Volodymyr Panivko closed THRIFT-6023.
-------------------------------------
Resolution: Implemented
> Add HTTP transport support to PHP cross-tests
> ---------------------------------------------
>
> Key: THRIFT-6023
> URL: https://issues.apache.org/jira/browse/THRIFT-6023
> Project: Thrift
> Issue Type: Improvement
> Components: PHP - Library, Test Suite
> Reporter: Volodymyr Panivko
> Priority: Major
> Time Spent: 1h 20m
> Remaining Estimate: 0h
>
> PHP is currently excluded from the cross-test HTTP matrix. Other languages
> (Python, Go, Node, C++, Java, Lua, Dart, JS, D, Haskell) declare "http" in
> their cross-test transports and verify HTTP interop against each other, but
> PHP only exercises "buffered" and "framed" sockets.
> This ticket adds:
> * Server-side: PHP's built-in web server (`php -S`) acting as an HTTP
> listener that routes each request through TPhpStream + the existing Thrift
> processor. TestServer.php detects --transport=http in CLI mode and
> pcntl_exec()s into `php -S 127.0.0.1:$port TestServer.php`, re-entering
> itself under SAPI cli-server.
> * Client-side: TestClient.php gains an --transport=http branch that uses
> TPsrHttpClient (added in THRIFT-6010) against http://127.0.0.1:$port/.
> * tests.json: adds "http" to PHP server and client transports, bumps client
> timeout to 10s for HTTP overhead.
> * composer.json: adds guzzlehttp/guzzle to require-dev so PSR-18 discovery
> resolves at test time.
> Result: php↔php, php↔py3, php↔go HTTP cross-test matrix cells become active.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)