Example #1
0
 public static function error(\Exception $e)
 {
     $app = Slim::getInstance();
     if ($e instanceof APIException) {
         $app->log->addError("API error [{$e->getHTTPCode()}][{$e->getCode()}]: " . print_r(['error' => $e->getErrors()], 1));
         $app->halt($e->getHTTPCode(), json_encode(['error' => $e->getErrors()], JSON_FORCE_OBJECT));
     } else {
         $app->log->addError("API error [500][{$e->getCode()}]: {$e->getMessage()} \n {$e->getTraceAsString()}");
         $app->syslog->addError("API error [500][{$e->getCode()}]: {$e->getMessage()} \n {$e->getTraceAsString()}");
         if ($app->config('mode') == 'development') {
             self::registerWhoops();
             $app->whoops->handleException($e);
         }
         $app->halt(500);
     }
 }
 /**
  * @param \Exception $ex
  */
 public function logException(\Exception $ex)
 {
     if ($ex instanceof Exception) {
         $httpCode = $ex->getHTTPCode();
         $headers = $ex->getHTTPHeaders($this->server);
     } else {
         $httpCode = 500;
         $headers = [];
     }
     $this->server->httpResponse->addHeaders($headers);
     $this->server->httpResponse->setStatus($httpCode);
     $body = $this->generateBody($ex);
     $this->server->httpResponse->setBody($body);
     $this->sendResponse();
 }
Example #3
0
 function testStatus()
 {
     $e = new Exception();
     $this->assertEquals(500, $e->getHTTPCode());
 }