public function SimpletestHttpRequestSubscriber::onBeforeSendRequest

Event callback for request.before_send

File

drupal/core/lib/Drupal/Core/Http/Plugin/SimpletestHttpRequestSubscriber.php, line 30
Contains Drupal\Core\Http\Plugin\SimpletestHttpRequestSubscriber

Class

SimpletestHttpRequestSubscriber
Subscribe to HTTP requests and override the User-Agent header if the request is being dispatched from inside a simpletest.

Namespace

Drupal\Core\Http\Plugin

Code

public function onBeforeSendRequest(Event $event) {

  // 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.
  $test_info =& $GLOBALS['drupal_test_info'];
  if (!empty($test_info['test_run_id'])) {
    $event['request']
      ->setHeader('User-Agent', drupal_generate_test_ua($test_info['test_run_id']));
  }
}