code: public function dispatch($httpMethod, $uri)
      {
          $this->allowed($httpMethod);
  
          $result = $this->dispatcher->dispatch($httpMethod, $uri);
  
          if ($result[0] == \FastRoute\Dispatcher::NOT_FOUND) {
              $message = 'Route "' . $uri . '" not found';
  
              throw new \UnexpectedValueException($message);
          }
  
          $route = $this->router->retrieve($httpMethod, $uri);
  
          $middlewares = ($route[2] == $result[1] && isset($route[3])) ? $route[3] : array();
  
          return array(array($result[1], $result[2]), $middlewares);
      }
docs: Dispatches against the provided HTTP method verb and URI.
  
  @param  string $httpMethod
  @param  string $uri
  @return array|mixed