123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189 |
- <?php
- namespace Qcloud\Cos\Exception;
- use Psr\Http\Message\RequestInterface;
- use Psr\Http\Message\ResponseInterface;
- class ServiceResponseException extends \RuntimeException {
-
- protected $response;
-
- protected $request;
-
- protected $requestId;
-
- protected $exceptionType;
-
- protected $exceptionCode;
-
- public function setExceptionCode($code) {
- $this->exceptionCode = $code;
- }
-
- public function getExceptionCode() {
- return $this->exceptionCode;
- }
-
- public function setExceptionType($type) {
- $this->exceptionType = $type;
- }
-
- public function getExceptionType() {
- return $this->exceptionType;
- }
-
- public function setRequestId($id) {
- $this->requestId = $id;
- }
-
- public function getRequestId() {
- return $this->requestId;
- }
-
- public function setResponse(ResponseInterface $response) {
- $this->response = $response;
- }
-
- public function getResponse() {
- return $this->response;
- }
-
- public function setRequest(RequestInterface $request) {
- $this->request = $request;
- }
-
- public function getRequest() {
- return $this->request;
- }
-
- public function getStatusCode() {
- return $this->response ? $this->response->getStatusCode() : null;
- }
-
- public function __toString() {
- $message = get_class($this) . ': '
- . 'Cos Error Code: ' . $this->getExceptionCode() . ', '
- . 'Status Code: ' . $this->getStatusCode() . ', '
- . 'Cos Request ID: ' . $this->getRequestId() . ', '
- . 'Cos Error Type: ' . $this->getExceptionType() . ', '
- . 'Cos Error Message: ' . $this->getMessage();
-
- if ($this->request) {
- $message .= ', ' . 'User-Agent: ' . $this->request->getHeader('User-Agent')[0];
- }
- return $message;
- }
-
- public function getCosRequestId() {
- return $this->requestId;
- }
-
- public function getCosErrorType() {
- return $this->exceptionType;
- }
-
- public function getCosErrorCode() {
- return $this->exceptionCode;
- }
- }
|