protected function execute(InputInterface $input, OutputInterface $output)
{
/** @var \Autarky\Routing\Router $router */
$router = $this->app->getContainer()->resolve('Autarky\\Routing\\Router');
$request = Request::create($input->getArgument('path'), $input->getArgument('method'));
$route = $router->getRouteForRequest($request);
$controller = $route->getController();
if (is_array($controller)) {
$controller = implode('::', $controller);
} else {
if ($controller instanceof \Closure) {
$controller = 'Closure';
}
}
$output->writeln('<info>Route name:</info> ' . $route->getName());
$output->writeln('<info>Route controller:</info> ' . $controller);
$output->writeln('<info>Route path:</info> ' . $route->getPattern());
$output->writeln('<info>HTTP methods:</info> ' . implode('|', $route->getMethods()));
if ($hooks = $route->getBeforeHooks()) {
$output->writeln('<info>Before hooks:</info> ' . implode(', ', $hooks));
}
if ($hooks = $route->getAfterHooks()) {
$output->writeln('<info>After hooks:</info> ' . implode(', ', $hooks));
}
return 0;
}