/** * Checks request response and dispatch result to appropriate handler. * * @param ResponseInterface $request * * @return \Exception|mixed */ public function processResourceRequestResponse(ResponseInterface $request) { $response = json_decode($request->getBody()->getContents()); if (Response::HTTP_OK !== $request->getStatusCode() && Response::HTTP_CREATED !== $request->getStatusCode()) { return ExceptionHandler::handle(get_class($this), $response, $request->getStatusCode()); } return isset($response->data) ? json_decode(json_encode($response->data), true) : json_decode(json_encode($response), true); }
public function testExceptionHandlerHandlesUnknownError() { $this->response->message = 'Internal Server Error'; $exception = ExceptionHandler::handle('', $this->response, Response::HTTP_SERVICE_UNAVAILABLE); $this->assertInstanceOf(\Exception::class, $exception); }