original_string: private function handleRoute($info, ServerRequestInterface $request, $route) : ResponseInterface
      {
          // initialize router attributes for the request
          $attributes = [
              'params' => [
                  'url' => [],
                  'host' => []
              ]
          ];
  
          // prepare parameters
          if ($paramstr = substr($request->getUri()->getPath(), strlen($route))) {
              $attributes['params']['url'] = $this->filterParameters($info['parameters'], explode("/", $paramstr));
          }
  
          // check host parameters
          if (count($info["hostparameters"]) > 0) {
              $attributes['params']['host'] = $this->extractHostParameters($request, $info);
          }
  
          // put route parameters into king23.router.parameters attribute
          $request = $request->withAttribute('king23.router', $attributes);
  
          /** @var \King23\Controller\Controller $controller */
          $controller = $this->container->get($info["class"]);
  
          return $controller->dispatch($info["action"], $request);
      }
code: private function handleRoute($info, ServerRequestInterface $request, $route) : ResponseInterface
      {
          // initialize router attributes for the request
          $attributes = [
              'params' => [
                  'url' => [],
                  'host' => []
              ]
          ];
  
          // prepare parameters
          if ($paramstr = substr($request->getUri()->getPath(), strlen($route))) {
              $attributes['params']['url'] = $this->filterParameters($info['parameters'], explode("/", $paramstr));
          }
  
          // check host parameters
          if (count($info["hostparameters"]) > 0) {
              $attributes['params']['host'] = $this->extractHostParameters($request, $info);
          }
  
          // put route parameters into king23.router.parameters attribute
          $request = $request->withAttribute('king23.router', $attributes);
  
          /** @var \King23\Controller\Controller $controller */
          $controller = $this->container->get($info["class"]);
  
          return $controller->dispatch($info["action"], $request);
      }
code_tokens: private function handleRoute ( $ info , ServerRequestInterface $ request , $ route ) : ResponseInterface { // initialize router attributes for the request $ attributes = [ 'params' => [ 'url' => [ ] , 'host' => [ ] ] ] ; // prepare parameters if ( $ paramstr = substr ( $ request -> getUri ( ) -> getPath ( ) , strlen ( $ route ) ) ) { $ attributes [ 'params' ] [ 'url' ] = $ this -> filterParameters ( $ info [ 'parameters' ] , explode ( "/" , $ paramstr ) ) ; } // check host parameters if ( count ( $ info [ "hostparameters" ] ) > 0 ) { $ attributes [ 'params' ] [ 'host' ] = $ this -> extractHostParameters ( $ request , $ info ) ; } // put route parameters into king23.router.parameters attribute $ request = $ request -> withAttribute ( 'king23.router' , $ attributes ) ; /** @var \King23\Controller\Controller $controller */ $ controller = $ this -> container -> get ( $ info [ "class" ] ) ; return $ controller -> dispatch ( $ info [ "action" ] , $ request ) ; }
docstring: Handle a regular route
  
  @param array $info
  @param ServerRequestInterface $request
  @param string $route
  @return ResponseInterface
  @throws \King23\Controller\Exceptions\ActionDoesNotExistException
docstring_tokens: Handle a regular route