|
|
- <?php
- chdir('..');
- include('vendor/autoload.php');
-
- register_shutdown_function('shutdown');
-
- use Symfony\Component\HttpFoundation\Request;
- use Symfony\Component\HttpFoundation\Response;
- $router = new League\Route\RouteCollection;
- $templates = new League\Plates\Engine(dirname(__FILE__).'/../views');
-
- $router->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'] === E_ERROR) {
- 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();
- }
- }
|