--- /dev/null
+<?php
+
+namespace Drupal\{{ machine_name }};
+
+use Drupal\Core\StringTranslation\StringTranslationTrait;
+use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\Response;
+use Symfony\Component\HttpKernel\HttpKernelInterface;
+
+/**
+ * {{ class }} middleware.
+ */
+class {{ class }} implements HttpKernelInterface {
+
+ use StringTranslationTrait;
+
+ /**
+ * The kernel.
+ *
+ * @var \Symfony\Component\HttpKernel\HttpKernelInterface
+ */
+ protected $httpKernel;
+
+ /**
+ * Constructs the {{ class }} object.
+ *
+ * @param \Symfony\Component\HttpKernel\HttpKernelInterface $http_kernel
+ * The decorated kernel.
+ */
+ public function __construct(HttpKernelInterface $http_kernel) {
+ $this->httpKernel = $http_kernel;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function handle(Request $request, $type = self::MASTER_REQUEST, $catch = TRUE) {
+
+ if ($request->getClientIp() == '127.0.0.10') {
+ return new Response($this->t('Bye!'), 403);
+ }
+
+ return $this->httpKernel->handle($request, $type, $catch);
+ }
+
+}