<?php

namespace Drupal\nodepath_access\EventSubscriber;

use Symfony\Component\HttpKernel\KernelEvents;
use Symfony\Component\HttpKernel\Event\RequestEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException;

/**
 * Class EntityTypeSubscriber.
 *
 * @package Drupal\nodepath_access\EventSubscriber
 */
class KernelRequestNodePathCheck implements EventSubscriberInterface {

  /**
   * {@inheritdoc}
   *
   * @return array
   *   The event names to listen for, and the methods that should be executed.
   */
  public static function getSubscribedEvents(): array {
    return [
      KernelEvents::REQUEST => 'onRequest',
    ];
  }

  /**
   * React to a config object being saved.
   */
  public function onRequest(RequestEvent $event): void {
    return;
    $user = \Drupal::currentUser();
    $user_roles = $user->getRoles();
    if (!in_array('anonymous', $user_roles)) {
      return;
    }
    $current_request = \Drupal::requestStack()->getCurrentRequest();
    $path = \Drupal::request()->getRequestUri();
    if (str_contains($path, '/node/')) {
      throw new AccessDeniedHttpException();
    }
  }
}
