/** * @param Response $response * * @return RepositoryResponse */ public static function fromResponse(Response $response) { $self = new self(); $error = new Error(); $self->setSuccessful(false); $responseContent = self::getResponseContent($response); $self->setResponse($responseContent); $responseArray = json_decode($responseContent, true); if (isset($responseArray['response']['status'])) { $self->setSuccessful($responseArray['response']['status'] == self::STATUS_SUCCESS); } if (!$self->isSuccessful()) { $error = Error::fromArray($responseArray['response']); } $self->setError($error); return $self; }