Esempio n. 1
0
 /**
  * @param mixed $response
  * @param \Wandu\Http\Exception\HttpException $exception
  * @return \Wandu\Http\Psr\Response
  */
 protected function responsify($response, HttpException $exception)
 {
     if ($response instanceof ResponseInterface) {
         return $response;
     }
     $isJson = false;
     if (!isset($response)) {
         $body = $exception->getReasonPhrase();
     } elseif (!is_string($response) && !is_numeric($response)) {
         $body = json_encode($response);
         $isJson = true;
     } else {
         $body = $response;
     }
     $responseToReturn = new Response($exception->getStatusCode(), $exception->getReasonPhrase(), '1.1', [], new StringStream($body));
     if ($isJson) {
         $responseToReturn = $responseToReturn->withHeader('Content-Type', 'application/json');
     }
     return $responseToReturn;
 }
Esempio n. 2
0
 /**
  * @dataProvider provideExceptions
  * @param \Wandu\Http\Exception\HttpException $exception
  * @param int $statusCode
  * @param string $reasonPhrase
  */
 public function testOtherHttpExceptions(HttpException $exception, $statusCode, $reasonPhrase)
 {
     static::assertSame($statusCode, $exception->getStatusCode());
     static::assertSame($reasonPhrase, $exception->getReasonPhrase());
     static::assertNull($exception->getBody());
 }