A Exception has been caught ! (depth: 2)
> no route found for "GET /sitemap.xml"
Traces : /home/ybellu/cv/vendor/yab94/brick/src/Http/Router.php (L: 131)Source file :
121<?php private function httpRoute(Request $request): Route
122<?php {
123<?php $ref = $this->profiler->measure('Router.httpRoute');
124<?php $requestUri = preg_replace('#^' . preg_quote($this->baseUrl, '#') . '#i', '', $request->getPath());
125<?php foreach ($this->routes as $route) {
126<?php if ($route->match($request->getVerb(), $requestUri)) {
127<?php return $route;
128<?php }
129<?php }
130<?php
131<?php throw new \Exception('no route found for "' . $request->getVerb() . ' ' . $request->getPath() . '"', 404);
132<?php }
133<?php
134<?php private function httpDispatch(Request $request, Response $response, Route $route): void
135<?php {
136<?php $ref = $this->profiler->measure('Router.httpDispatch.create');
137<?php $controller = $this->controllerFactory->create($route->reflectionMethod->getDeclaringClass()->getName(), [
138<?php 'baseUrl' => $this->baseUrl,
139<?php 'namespace' => $this->namespace,
140<?php 'request' => $request,
141<?php 'response' => $response,
/home/ybellu/cv/vendor/yab94/brick/src/Http/Router.php (L: 109)Class : Brick\Http\Router
Method : httpRoute
Arg 1 : object(Brick\Http\Request)
Source file :
99<?php $this->kebabCaseTransformer->transform($this->controllerFactory->resolveShortClass($reflectionMethod->getDeclaringClass()->getName())),
100<?php $this->kebabCaseTransformer->transform($reflectionMethod->getName()),
101<?php ...array_map(fn(\ReflectionParameter $reflectionParameter) => ':' . $reflectionParameter->getName(), $reflectionMethod->getParameters()),
102<?php ]);
103<?php }
104<?php
105<?php public function route(Request $request, Response $response): void
106<?php {
107<?php try {
108<?php $this->eventService->dispatch($this, self::PRE_ROUTE_EVENT, ['request' => $request, 'response' => $response]);
109<?php $route = $this->httpRoute($request);
110<?php $this->eventService->dispatch($this, self::POST_ROUTE_EVENT, ['request' => $request, 'route' => $route, 'response' => $response]);
111<?php $this->eventService->dispatch($this, self::PRE_DISPATCH_EVENT, ['request' => $request, 'route' => $route, 'response' => $response]);
112<?php $this->httpDispatch($request, $response, $route);
113<?php $this->eventService->dispatch($this, self::POST_DISPATCH_EVENT, ['request' => $request, 'route' => $route, 'response' => $response]);
114<?php } catch (\Throwable $exception) {
115<?php $this->handleError($exception, $request, $response);
116<?php }
117<?php
118<?php $response->send();
119<?php }
/home/ybellu/cv/vendor/yab94/brick/src/Application.php (L: 57)Class : Brick\Http\Router
Method : route
Arg 1 : object(Brick\Http\Request)
Arg 2 : object(Brick\Http\Response)
Source file :
47<?php }
48<?php
49<?php if ($profiler->isEnabled()) {
50<?php $container->get(EventService::class)->addEventListener(
51<?php Router::class,
52<?php Router::POST_DISPATCH_EVENT,
53<?php fn(Response $response) => $response->purgeBody()->appendBody($profiler->render()),
54<?php );
55<?php }
56<?php
57<?php $container->get(Router::class)->route($request, $response);
58<?php }
59<?php }
60<?php
61<?php // Do not clause PHP tags unless it is really necessary
/home/ybellu/cv/public/index.php (L: 7)Class : Brick\Application
Method : run
Arg 1 : string = "/home/ybellu/cv/config/config.ini"
Source file :
1<?php <?php
2<?php
3<?php define('APP_DIR', dirname(dirname(__FILE__)));
4<?php
5<?php include APP_DIR . '/vendor/autoload.php';
6<?php
7<?php Brick\Application::run(APP_DIR . '/config/config.ini');
Next Exception has been caught ! (depth: 1)
> Unable to handle exception: Undefined array key 1
Traces : /home/ybellu/cv/vendor/yab94/brick/src/Http/Router.php (L: 174)Source file :
164<?php $this->httpDispatch($request, $response, $this->createRoute(
165<?php verbs: [$request->getVerb()],
166<?php methodOrName: match($error->getCode()) {
167<?php 404 => $this->notFoundRouteName,
168<?php 401 => $this->unauthorizedRouteName,
169<?php default => $this->serverErrorRouteName,
170<?php },
171<?php params: [$error]
172<?php ));
173<?php } catch (\Throwable $e) {
174<?php throw new \Exception('Unable to handle exception: ' . $e->getMessage(), $response->getCode(), $error);
175<?php }
176<?php }
177<?php
178<?php public function resolveRoute(\ReflectionMethod | string $methodOrName): Route
179<?php {
180<?php $routeName = $this->createRoute($methodOrName, url: '')->name;
181<?php
182<?php return $this->routes[$routeName] ?? throw new \Exception('no route resolved for routeName "' . $routeName.'"');
183<?php }
184<?php
/home/ybellu/cv/vendor/yab94/brick/src/Http/Router.php (L: 115)Class : Brick\Http\Router
Method : handleError
Arg 1 : object(Exception)
Arg 2 : object(Brick\Http\Request)
Arg 3 : object(Brick\Http\Response)
Source file :
105<?php public function route(Request $request, Response $response): void
106<?php {
107<?php try {
108<?php $this->eventService->dispatch($this, self::PRE_ROUTE_EVENT, ['request' => $request, 'response' => $response]);
109<?php $route = $this->httpRoute($request);
110<?php $this->eventService->dispatch($this, self::POST_ROUTE_EVENT, ['request' => $request, 'route' => $route, 'response' => $response]);
111<?php $this->eventService->dispatch($this, self::PRE_DISPATCH_EVENT, ['request' => $request, 'route' => $route, 'response' => $response]);
112<?php $this->httpDispatch($request, $response, $route);
113<?php $this->eventService->dispatch($this, self::POST_DISPATCH_EVENT, ['request' => $request, 'route' => $route, 'response' => $response]);
114<?php } catch (\Throwable $exception) {
115<?php $this->handleError($exception, $request, $response);
116<?php }
117<?php
118<?php $response->send();
119<?php }
120<?php
121<?php private function httpRoute(Request $request): Route
122<?php {
123<?php $ref = $this->profiler->measure('Router.httpRoute');
124<?php $requestUri = preg_replace('#^' . preg_quote($this->baseUrl, '#') . '#i', '', $request->getPath());
125<?php foreach ($this->routes as $route) {
/home/ybellu/cv/vendor/yab94/brick/src/Application.php (L: 57)Class : Brick\Http\Router
Method : route
Arg 1 : object(Brick\Http\Request)
Arg 2 : object(Brick\Http\Response)
Source file :
47<?php }
48<?php
49<?php if ($profiler->isEnabled()) {
50<?php $container->get(EventService::class)->addEventListener(
51<?php Router::class,
52<?php Router::POST_DISPATCH_EVENT,
53<?php fn(Response $response) => $response->purgeBody()->appendBody($profiler->render()),
54<?php );
55<?php }
56<?php
57<?php $container->get(Router::class)->route($request, $response);
58<?php }
59<?php }
60<?php
61<?php // Do not clause PHP tags unless it is really necessary
/home/ybellu/cv/public/index.php (L: 7)Class : Brick\Application
Method : run
Arg 1 : string = "/home/ybellu/cv/config/config.ini"
Source file :
1<?php <?php
2<?php
3<?php define('APP_DIR', dirname(dirname(__FILE__)));
4<?php
5<?php include APP_DIR . '/vendor/autoload.php';
6<?php
7<?php Brick\Application::run(APP_DIR . '/config/config.ini');