--- /dev/null
+<?php
+
+namespace Drupal\{{ machine_name }}\EventSubscriber;
+
+use Drupal\Core\Session\AccountProxyInterface;
+use Symfony\Component\EventDispatcher\EventSubscriberInterface;
+use Symfony\Component\HttpKernel\Event\FilterResponseEvent;
+use Symfony\Component\HttpKernel\Event\GetResponseEvent;
+use Symfony\Component\HttpKernel\KernelEvents;
+
+/**
+ * {{ name }} event subscriber.
+ */
+class {{ class }} implements EventSubscriberInterface {
+
+ /**
+ * Current logged in user.
+ *
+ * @var \Drupal\Core\Session\AccountProxyInterface
+ */
+ protected $currentUser;
+
+ /**
+ * Constructs event subscriber.
+ *
+ * @param \Drupal\Core\Session\AccountProxyInterface $current_user
+ * Current logged in user.
+ */
+ public function __construct(AccountProxyInterface $current_user) {
+ $this->currentUser = $current_user;
+ }
+
+ /**
+ * Kernel request event handler.
+ *
+ * @param \Symfony\Component\HttpKernel\Event\GetResponseEvent $event
+ * Response event.
+ */
+ public function onKernelRequest(GetResponseEvent $event) {
+ drupal_set_message(__FUNCTION__);
+ }
+
+ /**
+ * Kernel response event handler.
+ *
+ * @param \Symfony\Component\HttpKernel\Event\FilterResponseEvent $event
+ * Response event.
+ */
+ public function onKernelResponse(FilterResponseEvent $event) {
+ drupal_set_message(__FUNCTION__);
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public static function getSubscribedEvents() {
+ return [
+ KernelEvents::REQUEST => ['onKernelRequest'],
+ KernelEvents::RESPONSE => ['onKernelResponse'],
+ ];
+ }
+
+}