38 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
	
	
	
<?php
 | 
						|
 | 
						|
use JoopSchilder\Http2\Http2;
 | 
						|
use JoopSchilder\Http2\Response;
 | 
						|
 | 
						|
require_once __DIR__ . '/../vendor/autoload.php';
 | 
						|
 | 
						|
$http2 = new Http2();
 | 
						|
$http2->onResponse(function (Response $response) {
 | 
						|
	$statusLine = substr($response->getHeader(), 0, strpos($response->getHeader(), "\r"));
 | 
						|
	$statusLine = str_pad($statusLine, 14, ' ', STR_PAD_RIGHT);
 | 
						|
	print("$statusLine {$response->getOriginalUrl()}\n");
 | 
						|
});
 | 
						|
 | 
						|
// Add urls
 | 
						|
$urls = [
 | 
						|
	'https://twitter.com/survivetheark',
 | 
						|
	'https://twitter.com/missingpeople',
 | 
						|
	'https://twitter.com/elainecrowley',
 | 
						|
	'https://twitter.com/2020comms',
 | 
						|
	'https://twitter.com/goal',
 | 
						|
	'https://twitter.com/cydarmedical',
 | 
						|
	'https://twitter.com/cloakzy',
 | 
						|
	'https://twitter.com/cllrandrewkelly',
 | 
						|
	'https://twitter.com/youranonnews',
 | 
						|
	'https://twitter.com/trickyjabs',
 | 
						|
];
 | 
						|
foreach ($urls as $url) {
 | 
						|
	$http2->addRequest($http2->createRequest($url));
 | 
						|
}
 | 
						|
 | 
						|
// Execute the requests
 | 
						|
print("Note: it might take some time to establish the TCP connection.\n");
 | 
						|
print("The benefits of HTTP/2 become more clear if you send more requests to the same server.\n\n");
 | 
						|
$startTime = microtime(true);
 | 
						|
$http2->execute();
 | 
						|
printf("Requests: %d, time(s): %.3f\n", count($urls), microtime(true) - $startTime);
 |