Ejemplo n.º 1
0
 public function test_set_complex_content()
 {
     $response = new JsonResponse(null, [new ArrayableItem('foo'), new ArrayableItem('bar')]);
     $this->assertEquals([['id' => 'foo'], ['id' => 'bar']], $response->getData()->toArray());
     $response = new JsonResponse();
     $response->setContent([new ArrayableItem('foo'), new ArrayableItem('bar')]);
     $this->assertEquals([['id' => 'foo'], ['id' => 'bar']], $response->getData()->toArray());
 }
 function it_handles_error(IHttpApp $httpApp, IError $error)
 {
     $error->getMessage()->willReturn('message');
     $error->getCode()->willReturn('code');
     $error->getFile()->willReturn('file');
     $error->getLine()->willReturn('line');
     $response = new JsonResponse(HttpStatusCode::INTERNAL_SERVER_ERROR);
     $response->getData()->set('error.message', 'message');
     $response->getData()->set('error.code', 'code');
     $response->getData()->set('error.file', 'file');
     $response->getData()->set('error.line', 'line');
     $httpApp->shutdownWithResponse($response)->shouldBeCalled();
     $this->handleError($error);
 }
Ejemplo n.º 3
0
 /**
  * @param array $data
  */
 protected function sendJsonResponse(array $data)
 {
     $response = new JsonResponse();
     $response->setContent(json_encode($data, JSON_PRETTY_PRINT));
     $response->send();
 }
 /**
  * @param Exception $ex
  */
 public function handleException(Exception $ex)
 {
     $trace = $ex->getTrace();
     foreach ($trace as &$item) {
         foreach (array_keys($item) as $key) {
             if (!array_contains(['file', 'line', 'function', 'class'], $key)) {
                 array_remove($item, $key);
             }
         }
     }
     $response = new JsonResponse(HttpStatusCode::INTERNAL_SERVER_ERROR);
     $response->getData()->set('error.message', $ex->getMessage());
     $response->getData()->set('error.code', $ex->getCode());
     $response->getData()->set('error.file', $ex->getFile());
     $response->getData()->set('error.line', $ex->getLine());
     $response->getData()->set('error.trace', $trace);
     $this->httpApp->shutdownWithResponse($response);
 }
Ejemplo n.º 5
0
 /**
  * @param IHttpRequest $httpRequest
  *
  * @return JsonResponse
  */
 public function send(IHttpRequest $httpRequest)
 {
     return JsonResponse::create(parent::send($httpRequest));
 }