예제 #1
0
 /**
  * The standard error message from guzzle is quite poor in informations,
  * this will give little bit more sense to it and return it
  *
  * @param BadResponseException $e
  * @return BadResponseException
  */
 protected function handleError(BadResponseException $e)
 {
     $request = $e->getRequest();
     $response = $e->getResponse();
     $level = floor($response->getStatusCode() / 100);
     if ($level == '4') {
         $label = 'Client error response';
     } elseif ($level == '5') {
         $label = 'Server error response';
     } else {
         $label = 'Unsuccessful response';
     }
     $message = $label . ' [url] ' . $request->getUri() . ' [status code] ' . $response->getStatusCode() . ' [message] ';
     $body = $response->getBody();
     $json = json_decode($body, true);
     $message .= $json != null && array_key_exists('message', $json) ? $json['message'] : $body;
     if ($level == '4' && strpos($message, "page with this title already exists") !== false) {
         return new DuplicateTitleException($message, 0, $e->getPrevious());
     }
     return new BadResponseException($message, $request, $response, $e->getPrevious());
 }
예제 #2
0
 /**
  * The standard error message from guzzle is quite poor in informations,
  * this will give little bit more sense to it and return it
  *
  * @param BadResponseException $e
  * @return BadResponseException
  */
 protected function handleError(BadResponseException $e)
 {
     $request = $e->getRequest();
     $response = $e->getResponse();
     $level = floor($response->getStatusCode() / 100);
     if ($level == '4') {
         $label = 'Client error response';
     } elseif ($level == '5') {
         $label = 'Server error response';
     } else {
         $label = 'Unsuccessful response';
     }
     $message = $label . ' [url] ' . $request->getUrl() . ' [status code] ' . $response->getStatusCode() . ' [message] ';
     try {
         $message .= $response->json()['message'];
     } catch (ParseException $e) {
         $message .= (string) $response->getBody();
     }
     if ($level == '4' && strpos($message, "page with this title already exists") !== false) {
         return new DuplicateTitleException($message, 0, $e->getPrevious());
     }
     return new BadResponseException($message, $request, $response, $e->getPrevious());
 }