Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
CRAP | |
0.00% |
0 / 7 |
TestHttpClientMiddleware | |
0.00% |
0 / 1 |
|
50.00% |
1 / 2 |
20 | |
0.00% |
0 / 7 |
__invoke | |
100.00% |
1 / 1 |
2 | |
100.00% |
0 / 0 |
|||
anonymous function | |
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 5 |
<?php | |
/** | |
* @file | |
* Contains \Drupal\Core\Test\HttpClientMiddleware\TestHttpClientMiddleware. | |
*/ | |
namespace Drupal\Core\Test\HttpClientMiddleware; | |
use Psr\Http\Message\RequestInterface; | |
/** | |
* Overrides the User-Agent HTTP header for outbound HTTP requests. | |
*/ | |
class TestHttpClientMiddleware { | |
/** | |
* {@inheritdoc} | |
* | |
* HTTP middleware that replaces the user agent for simpletest requests. | |
*/ | |
public function __invoke() { | |
// If the database prefix is being used by SimpleTest to run the tests in a copied | |
// database then set the user-agent header to the database prefix so that any | |
// calls to other Drupal pages will run the SimpleTest prefixed database. The | |
// user-agent is used to ensure that multiple testing sessions running at the | |
// same time won't interfere with each other as they would if the database | |
// prefix were stored statically in a file or database variable. | |
return function ($handler) { | |
return function (RequestInterface $request, array $options) use ($handler) { | |
if ($test_prefix = drupal_valid_test_ua()) { | |
$request = $request->withHeader('User-Agent', drupal_generate_test_ua($test_prefix)); | |
} | |
return $handler($request, $options); | |
}; | |
}; | |
} | |
} |