/** * Factory method to create a new exception with a normalized error message * * @param puzzle_message_RequestInterface $request Request * @param puzzle_message_ResponseInterface $response Response received * @param Exception $previous Previous exception * * @return self */ public static function create(puzzle_message_RequestInterface $request, puzzle_message_ResponseInterface $response = null, Exception $previous = null) { if (!$response) { return new self('Error completing request', $request, null, $previous); } $statusCode = $response->getStatusCode(); $level = $statusCode[0]; if ($level == '4') { $label = 'Client error response'; $className = 'puzzle_exception_ClientException'; } elseif ($level == '5') { $label = 'Server error response'; $className = 'puzzle_exception_ServerException'; } else { $label = 'Unsuccessful response'; $className = __CLASS__; } $message = $label . ' [url] ' . $request->getUrl() . ' [status code] ' . $response->getStatusCode() . ' [reason phrase] ' . $response->getReasonPhrase(); return new $className($message, $request, $response, $previous); }
/** * {@inheritdoc} */ public function getReasonPhrase() { return $this->_delegate->getReasonPhrase(); }