public function ExceptionTestSiteSubscriber::on500 in Drupal 8
Same name and namespace in other branches
- 9 core/lib/Drupal/Core/EventSubscriber/ExceptionTestSiteSubscriber.php \Drupal\Core\EventSubscriber\ExceptionTestSiteSubscriber::on500()
Checks for special handling of errors inside Simpletest.
@todo The $headers array appears to not actually get used at all in the original code. It's quite possible that this entire method is now vestigial and can be removed.
Parameters
\Symfony\Component\HttpKernel\Event\GetResponseForExceptionEvent $event:
File
- core/
lib/ Drupal/ Core/ EventSubscriber/ ExceptionTestSiteSubscriber.php, line 36
Class
- ExceptionTestSiteSubscriber
- Custom handling of errors when in a system-under-test.
Namespace
Drupal\Core\EventSubscriberCode
public function on500(GetResponseForExceptionEvent $event) {
$exception = $event
->getException();
$error = Error::decodeException($exception);
$headers = [];
// When running inside the testing framework, we relay the errors
// to the tested site by the way of HTTP headers.
if (DRUPAL_TEST_IN_CHILD_SITE && !headers_sent() && (!defined('SIMPLETEST_COLLECT_ERRORS') || SIMPLETEST_COLLECT_ERRORS)) {
// $number does not use drupal_static as it should not be reset
// as it uniquely identifies each PHP error.
static $number = 0;
$assertion = [
$error['@message'],
$error['%type'],
[
'function' => $error['%function'],
'file' => $error['%file'],
'line' => $error['%line'],
],
];
$headers['X-Drupal-Assertion-' . $number] = rawurlencode(serialize($assertion));
$number++;
}
}