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)

Reply via email to