22
33namespace Simples \Http \Kernel ;
44
5+ use Simples \Kernel \App as Kernel ;
56use Simples \Http \Request ;
67use Simples \Http \Response ;
78use Simples \Route \Match ;
@@ -38,6 +39,23 @@ public function __construct(Request $request)
3839 $ this ->request = $ request ;
3940 }
4041
42+ /**
43+ * @return Response
44+ */
45+ public function handler (): Response
46+ {
47+ // TODO: container
48+ $ router = new Router (Kernel::options ('labels ' ), Kernel::options ('type ' ));
49+
50+ // TODO: make routes here
51+ /** @var Match $match */
52+ $ this ->match = static ::routes ($ router )->match ($ this ->request ->getMethod (), $ this ->request ->getUri ());
53+
54+ $ handler = new HttpHandler ($ this ->request , $ this ->match );
55+
56+ return $ handler ->apply ();
57+ }
58+
4159 /**
4260 * Load the routes of project
4361 *
@@ -47,7 +65,7 @@ public function __construct(Request $request)
4765 */
4866 public static function routes (Router $ router , array $ files = null )
4967 {
50- $ files = $ files ? $ files : App ::config ('route.files ' );
68+ $ files = $ files ? $ files : Kernel ::config ('route.files ' );
5169
5270 foreach ($ files as $ file ) {
5371 $ router ->load (path (true , $ file ));
@@ -56,23 +74,6 @@ public static function routes(Router $router, array $files = null)
5674 return $ router ;
5775 }
5876
59- /**
60- * @return Response
61- */
62- public function handler (): Response
63- {
64- // TODO: container
65- $ router = new Router (App::options ('labels ' ), App::options ('type ' ));
66-
67- // TODO: make routes here
68- /** @var Match $match */
69- $ this ->match = static ::routes ($ router )->match ($ this ->request ->getMethod (), $ this ->request ->getUri ());
70-
71- $ handler = new HttpHandler ($ this ->request , $ this ->match );
72-
73- return $ handler ->apply ();
74- }
75-
7677 /**
7778 * @param Throwable $fail
7879 * @return Response
0 commit comments