private function handleError($error, RequestInterface $request, ResponseInterface $response)
{
$statusCode = Utils::getStatusCode($error, $response);
$reasonPhrase = $response->getStatusCode() === $statusCode ? $response->getReasonPhrase() : '';
$response = $response->withStatus($statusCode, $reasonPhrase);
$message = $response->getReasonPhrase() ?: 'Unknown Error';
if (isset($this->options['env']) && $this->options['env'] !== 'production') {
$message = $this->createDevelopmentErrorMessage($error);
}
$response = $this->completeResponse($response, $message);
$this->triggerError($error, $request, $response);
return $response;
}