addRoute('GET', '/', 'Main::index'); $router->addRoute('GET', '/parse', 'Parse::parse'); $router->addRoute('POST', '/parse', 'Parse::parse'); $router->addRoute('POST', '/token', 'Token::token'); $dispatcher = $router->getDispatcher(); $request = Request::createFromGlobals(); try { $response = $dispatcher->dispatch($request->getMethod(), $request->getPathInfo()); $response->send(); } catch(League\Route\Http\Exception\NotFoundException $e) { $response = new Response; $response->setStatusCode(404); $response->setContent("Not Found\n"); $response->send(); } catch(League\Route\Http\Exception\MethodNotAllowedException $e) { $response = new Response; $response->setStatusCode(405); $response->setContent("Method not allowed\n"); $response->send(); } function shutdown() { $error = error_get_last(); if($error['type'] !== 0) { header('HTTP/1.1 500 Server Error'); header('X-PHP-Error-Type: '.$error['type']); header('X-PHP-Error-Message: '.$error['message']); header('Content-Type: application/json'); echo json_encode([ 'error' => 'internal_error', 'error_code' => 500, 'error_description' => $error['message'], 'debug' => 'Please file an issue with any information you have about what caused this error: https://github.com/aaronpk/XRay/issues' ]); die(); } }