Example #1
0
 public function dispatch()
 {
     $request = php_sapi_name() == 'cli' ? new CLIRequest() : new HTTPRequest();
     $response = new HTTPResponse();
     $this->context->logger()->debug(sprintf('medick v.$%s ready to dispatch (took %.3f sec. to boot)', Medick::version(), $this->context->timer()->tick()));
     try {
         Router::recognize($request, $this->context)->process($request, $response)->dump();
         $this->context->logger()->debug(sprintf("\t[%s] done in %.3f sec.", time(), $this->context->timer()->tick(true)));
     } catch (Exception $ex) {
         $message = sprintf('[%s] --> %s in %s line %s', get_class($ex), $ex->getMessage(), $ex->getFile(), $ex->getLine());
         $this->context->logger()->warn(sprintf('Request processing failed after %.3f seconds', $this->context->timer()->tick()));
         $this->context->logger()->warn($message);
         // try to process with exception
         echo php_sapi_name() == 'cli' ? $message : '<pre>' . $message . '</pre>';
         echo php_sapi_name() == 'cli' ? $ex->getTraceAsString() : '<pre style="font-size:85%">' . $ex->getTraceAsString() . '</pre>';
     }
 }