Browse Source

dev 2020-10

Max F 5 years ago
parent
commit
6a4abc2c57

+ 13 - 0
config/routes.php

@@ -0,0 +1,13 @@
+<?php
+
+namespace KarmaFW\config;
+
+use \KarmaFW\Routing\Router;
+
+
+// Homepage
+//Router::get('/', ['App\\Controllers\\HoomeController', 'homepage'])->setName('home');
+
+// Assets minimifier
+Router::get('(/assets/js/[^/]+.js).phpmin.js$', ['KarmaFW\\Controllers\\MinimifierController', 'minimifier_js'], 'regex', ['file_url'])->setName('minimifier_js');
+Router::get('(/assets/css/[^/]+.css).phpmin.css$', ['KarmaFW\\Controllers\\MinimifierController', 'minimifier_css'], 'regex', ['file_url'])->setName('minimifier_css');

+ 0 - 8
src/App/Middlewares/ErrorHandler.php

@@ -37,14 +37,6 @@ class ErrorHandler
             $error_code = $e->getCode();
             $error_message = $e->getMessage();
 
-            /*
-            $is_response = is_a($e, Response::class);
-            if ($is_response) {
-                // exception is in reality a Response
-                return $e;
-            }
-            */
-
             /*
             if ($error_code == 404) {
                 // case moved to UrlRouter

+ 7 - 10
src/App/Middlewares/UrlRouter.php

@@ -21,6 +21,9 @@ class UrlRouter
 	public function __invoke(Request $request, Response $response, callable $next)
 	{
 		// LOAD ROUTES
+		if (is_file(FW_DIR . '/config/routes.php')) {
+			require FW_DIR . '/config/routes.php';
+		}
 		if (is_file(APP_DIR . '/config/routes.php')) {
 			require APP_DIR . '/config/routes.php';
 		}
@@ -46,14 +49,8 @@ class UrlRouter
 			$error_code = $e->getCode();
 			$error_message = $e->getMessage();
 
-			/*
-			$is_response = is_a($e, Response::class);
-			if ($is_response) {
-				// exception is in reality a Response
-				return $e;
-			}
-			*/
 
+			// REDIRECTION
 			if (in_array($error_code, [301, 302, 310])) {
 				// if $error_code is a redirection
 				$url = $error_message;
@@ -62,12 +59,12 @@ class UrlRouter
 			}
 
 			// ERROR 404
-			if ($error_code == 404) {
+			if (in_array($error_code, [404, 410])) {
 				// if $error_code is a 404 page not found
 				if (empty($error_message)) {
-					$error_message = '<title>Not Found</title><h1>Not Found</h1>';
+					$error_message = '<title>Not Found</title><h1>Not Found</h1><p>Page not Found</p>';
 				}
-				return $response->setStatus(404)->setHtml($error_message);
+				return $response->setStatus($error_code)->setHtml($error_message);
 			}
 
 

+ 7 - 4
src/Controllers/MinimifierController.php

@@ -45,11 +45,11 @@ class MinimifierController extends WebAppController
 				} else {
 					// minimification
 					$content = file_get_contents($file_path);
-					$this->response->setContent($content);
+					$this->response->setBody($content);
 		            $content_length = $this->response->getContentLength();
 
 					$content_minimified = MinimifierJs::minify_js($content);
-					$this->response->setContent($content_minimified);
+					$this->response->setBody($content_minimified);
 		            $content_minimified_length = $this->response->getContentLength();
 					
 					$this->response->addHeader('Content-Type', 'text/javascript');
@@ -59,8 +59,10 @@ class MinimifierController extends WebAppController
 		            $this->response->addHeader('X-CSS-Minimified-Content-Length', $content_minimified_length);
 
 					// TODO: gerer cache-expire, expires, ...
+					return $this->response;
 				}
 			}
+			//echo "ok"; exit;
 
 		} else {
 			// Error document root not found
@@ -104,11 +106,11 @@ class MinimifierController extends WebAppController
 				} else {
 					// minimification
 					$content = file_get_contents($file_path);
-					$this->response->setContent($content);
+					$this->response->setBody($content);
 		            $content_length = $this->response->getContentLength();
 
 					$content_minimified = MinimifierCss::minify_css($content);
-					$this->response->setContent($content_minimified);
+					$this->response->setBody($content_minimified);
 		            $content_minimified_length = $this->response->getContentLength();
 					
 					$this->response->addHeader('Content-Type', 'text/css');
@@ -118,6 +120,7 @@ class MinimifierController extends WebAppController
 		            $this->response->addHeader('X-CSS-Minimified-Content-Length', $content_minimified_length);
 
 					// TODO: gerer cache-expire, expires, ...
+					return $this->response;
 				}
 			}
 

+ 0 - 1
src/Http/Response.php

@@ -5,7 +5,6 @@ namespace KarmaFW\Http;
 use \KarmaFW\App\Tools;
 
 
-
 class Response
 {
 	protected $headers = [];

+ 2 - 2
src/Routing/Router.php

@@ -272,10 +272,10 @@ class Router
 			$response = $route_response;
 
 		} else if ($route_response) {
-			return $response->setStatus(404)->setHtml('<h1>Server Error</h1><p>Error: \$response is not a Response</p>');
+			return $response->setHtml('<html><body><h1>Server Error</h1><p>Error: $response is not a Response</p></body></html>', 404);
 
 		} else {
-			return $response->setStatus(404)->setHtml('<h1>Server Error</h1><p>Error: \$response is empty</p>');
+			return $response->setHtml('<html><body><h1>Server Error</h1><p>Error: $response is empty</p></body></html>', 404);
 		}
 
 		return $response;