public function testRequestMethods() { // Create Router $router = new \Bramus\Router\Router(); $router->get('/', function () { echo 'get'; }); $router->post('/', function () { echo 'post'; }); $router->put('/', function () { echo 'put'; }); $router->patch('/', function () { echo 'patch'; }); $router->delete('/', function () { echo 'delete'; }); $router->options('/', function () { echo 'options'; }); // Test GET ob_start(); $_SERVER['REQUEST_URI'] = '/'; $router->run(); $this->assertEquals('get', ob_get_contents()); // Test POST ob_clean(); $_SERVER['REQUEST_METHOD'] = 'POST'; $router->run(); $this->assertEquals('post', ob_get_contents()); // Test PUT ob_clean(); $_SERVER['REQUEST_METHOD'] = 'PUT'; $router->run(); $this->assertEquals('put', ob_get_contents()); // Test PATCH ob_clean(); $_SERVER['REQUEST_METHOD'] = 'PATCH'; $router->run(); $this->assertEquals('patch', ob_get_contents()); // Test DELETE ob_clean(); $_SERVER['REQUEST_METHOD'] = 'DELETE'; $router->run(); $this->assertEquals('delete', ob_get_contents()); // Test OPTIONS ob_clean(); $_SERVER['REQUEST_METHOD'] = 'OPTIONS'; $router->run(); $this->assertEquals('options', ob_get_contents()); // Test HEAD ob_clean(); $_SERVER['REQUEST_METHOD'] = 'HEAD'; $router->run(); $this->assertEquals('', ob_get_contents()); // Cleanup ob_end_clean(); }
$dotenv->load(); } catch (InvalidArgumentException $ex) { // Ignore if no dotenv } $app = new \App\Main(); // Create Router instance $router = new \Bramus\Router\Router(); // Activate CORS function sendCorsHeaders() { header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Headers: Authorization"); header("Access-Control-Allow-Methods: GET,HEAD,PUT,PATCH,POST,DELETE"); } $router->options('/.*', function () { sendCorsHeaders(); }); sendCorsHeaders(); // Check JWT on /secured routes $router->before('GET', '/secured/.*', function () use($app) { $requestHeaders = apache_request_headers(); if (!isset($requestHeaders['Authorization'])) { header('HTTP/1.0 401 Unauthorized'); echo "No token provided."; exit; } $authorizationHeader = $requestHeaders['Authorization']; if ($authorizationHeader == null) { header('HTTP/1.0 401 Unauthorized'); echo "No authorization header sent"; exit;