@@ -4,19 +4,21 @@ Concurrent async cURL requests
44curl
55--FILE--
66<?php
7- include "../common/simple_http_server.php " ;
7+ include "../../sapi/cli/tests/php_cli_server.inc " ;
88
99use function Async \spawn ;
1010use function Async \awaitAll ;
1111
12- // Start test server
13- $ server_pid = start_test_server_process (8088 );
12+ php_cli_server_start ();
1413
15- function make_request ( $ url , $ id ) {
14+ function make_request_with_delay ( $ delay_ms , $ id ) {
1615 echo "Request $ id: starting \n" ;
1716
17+ // Add delay before making the request
18+ usleep ($ delay_ms * 1000 );
19+
1820 $ ch = curl_init ();
19- curl_setopt ($ ch , CURLOPT_URL , $ url );
21+ curl_setopt ($ ch , CURLOPT_URL , " http:// " . PHP_CLI_SERVER_ADDRESS );
2022 curl_setopt ($ ch , CURLOPT_RETURNTRANSFER , true );
2123 curl_setopt ($ ch , CURLOPT_TIMEOUT , 5 );
2224
@@ -31,11 +33,11 @@ function make_request($url, $id) {
3133
3234echo "Test start \n" ;
3335
34- // Launch multiple concurrent requests
36+ // Launch multiple concurrent requests with different delays
3537$ coroutines = [
36- spawn (fn () => make_request ( get_test_server_url ( ' / ' ) , 1 )),
37- spawn (fn () => make_request ( get_test_server_url ( ' /json ' ) , 2 )),
38- spawn (fn () => make_request ( get_test_server_url ( ' /slow ' ) , 3 )),
38+ spawn (fn () => make_request_with_delay ( 10 , 1 )),
39+ spawn (fn () => make_request_with_delay ( 20 , 2 )),
40+ spawn (fn () => make_request_with_delay ( 30 , 3 )),
3941];
4042
4143$ results = awaitAll ($ coroutines );
@@ -44,9 +46,6 @@ foreach ($results as $result) {
4446 echo "Result: $ result \n" ;
4547}
4648
47- // Stop server
48- stop_test_server_process ($ server_pid );
49-
5049echo "Test end \n" ;
5150?>
5251--EXPECTF--
@@ -57,7 +56,7 @@ Request 3: starting
5756Request 1: completed (HTTP 200)
5857Request 2: completed (HTTP 200)
5958Request 3: completed (HTTP 200)
60- Result: Request 1 result: Hello World
61- Result: Request 2 result: {"message":" Hello JSON","status":"ok"}
62- Result: Request 3 result: Slow Response
59+ Result: Request 1 result: Hello world
60+ Result: Request 2 result: Hello world
61+ Result: Request 3 result: Hello world
6362Test end
0 commit comments