Example #1
0
 public static function factory($response, $method, $url, $parameters)
 {
     if (is_string($response)) {
         $response = Client::parseRawResponse($response);
     }
     if (!$response) {
         return new NoResponseException();
     }
     if (isset($response['status_code']) and isset(self::$code_subtypes[$response['status_code']])) {
         return new self::$code_subtypes[$response['status_code']]($response, $method, $url, $parameters);
     } elseif (isset($response['status_message']) and isset(self::$status_subtypes[$response['status_message']])) {
         return new self::$status_subtypes[$response['status_message']]($response, $method, $url, $parameters);
     } else {
         return new self($response, $method, $url, $parameters);
     }
 }