BadResponseException.php

Namespace

Guzzle\Http\Exception

File

drupal/core/vendor/guzzle/http/Guzzle/Http/Exception/BadResponseException.php
View source
<?php

namespace Guzzle\Http\Exception;

use Guzzle\Http\Message\RequestInterface;
use Guzzle\Http\Message\Response;

/**
 * Http request exception thrown when a bad response is received
 */
class BadResponseException extends RequestException {

  /**
   * @var Response
   */
  private $response;

  /**
   * Factory method to create a new response exception based on the response code.
   *
   * @param RequestInterface $request  Request
   * @param Response         $response Response received
   *
   * @return BadResponseException
   */
  public static function factory(RequestInterface $request, Response $response) {
    if ($response
      ->isClientError()) {
      $label = 'Client error response';
      $class = __NAMESPACE__ . '\\ClientErrorResponseException';
    }
    elseif ($response
      ->isServerError()) {
      $label = 'Server error response';
      $class = __NAMESPACE__ . '\\ServerErrorResponseException';
    }
    else {
      $label = 'Unsuccessful response';
      $class = __CLASS__;
      $e = new self();
    }
    $message = $label . PHP_EOL . implode(PHP_EOL, array(
      '[status code] ' . $response
        ->getStatusCode(),
      '[reason phrase] ' . $response
        ->getReasonPhrase(),
      '[url] ' . $request
        ->getUrl(),
      '[request] ' . (string) $request,
      '[response] ' . (string) $response,
    ));
    $e = new $class($message);
    $e
      ->setResponse($response);
    $e
      ->setRequest($request);
    return $e;
  }

  /**
   * Set the response that caused the exception
   *
   * @param Response $response Response to set
   */
  public function setResponse(Response $response) {
    $this->response = $response;
  }

  /**
   * Get the response that caused the exception
   *
   * @return Response
   */
  public function getResponse() {
    return $this->response;
  }

}

Classes

Namesort descending Description
BadResponseException Http request exception thrown when a bad response is received