Volodymyr Panivko created THRIFT-6023:
-----------------------------------------
Summary: 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: Test Suite, PHP - Library
Reporter: Volodymyr Panivko
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)