public static function boot(Router $router, string $method, string $path, Request $req) { $err = ''; ob_start(); $int = $router->getInterceptor(); if ($int !== null and $int instanceof Injector) { $int->setData('request', $req); } try { $ret = $router->dispatch($method, $path); } catch (HTTPStatus $h) { http_response_code($h->getCode()); $err = $h->getMessage(); } catch (\Exception $e) { http_response_code(500); $err = $e->__toString(); } ob_end_flush(); if ($err !== '') { $ret = $err; } header('Content-Type: application/json'); echo json_encode($ret); }