code: public function process(ServerRequestInterface $request, HandlerInterface $handler)
      {
          $original = $this->stack;
  
          $this->push(function ($request) use ($handler) {
              return $handler->{HANDLER_METHOD}($request);
          });
  
          foreach ($this->stack as $index => $middleware) {
              $middleware = (is_string($middleware)) ? new $middleware : $middleware;
  
              $this->stack[$index] = $this->transform($middleware);
          }
  
          $resolved = $this->resolve(0);
  
          array_pop($this->stack);
  
          $this->stack = $original;
  
          return $resolved($request);
      }
docs: Processes an incoming server request and return a response.
  
  @param  \Psr\Http\Message\ServerRequestInterface      $request
  @param  \Rougin\Slytherin\Middleware\HandlerInterface $handler
  @return \Psr\Http\Message\ResponseInterface