public function BrokenLinkSubscriber::handleBrokenLink in Broken Link 8
Same name and namespace in other branches
- 8.3 src/EventSubscriber/BrokenLinkSubscriber.php \Drupal\broken_link\EventSubscriber\BrokenLinkSubscriber::handleBrokenLink()
- 8.2 src/EventSubscriber/BrokenLinkSubscriber.php \Drupal\broken_link\EventSubscriber\BrokenLinkSubscriber::handleBrokenLink()
Method is called whenever the kernel.exception event is dispatched.
Logs the broken link hit rate. And redirect to path configured, if broken link matches any pattern defined.
Parameters
File
- src/
EventSubscriber/ BrokenLinkSubscriber.php, line 44
Class
- BrokenLinkSubscriber
- Class BrokenLinkSubscriber.
Namespace
Drupal\broken_link\EventSubscriberCode
public function handleBrokenLink(Event $event) {
$exception = $event
->getException();
if ($exception instanceof NotFoundHttpException) {
$request_path = rtrim($event
->getRequest()
->getPathInfo(), '/');
$broken_link = new BrokenLink([], 'broken_link');
$broken_link
->merge($request_path);
$broken_link_redirect = new BrokenLinkRedirect([], 'broken_link_redirect');
$redirect_path = $broken_link_redirect
->getRedirectLink($request_path);
if ($redirect_path) {
$event
->setResponse(new RedirectResponse($redirect_path));
}
}
}