Mailgun\Connection\RestClient::responseHandler PHP Method

responseHandler() public method

public responseHandler ( Psr\Http\Message\ResponseInterface $responseObj ) : stdClass
$responseObj Psr\Http\Message\ResponseInterface
return stdClass
    public function responseHandler(ResponseInterface $responseObj)
    {
        $httpResponseCode = (int) $responseObj->getStatusCode();
        switch ($httpResponseCode) {
            case 200:
                $data = (string) $responseObj->getBody();
                $jsonResponseData = json_decode($data, false);
                $result = new \stdClass();
                // return response data as json if possible, raw if not
                $result->http_response_body = $data && $jsonResponseData === null ? $data : $jsonResponseData;
                $result->http_response_code = $httpResponseCode;
                return $result;
            case 400:
                throw new MissingRequiredParameters(ExceptionMessages::EXCEPTION_MISSING_REQUIRED_PARAMETERS . $this->getResponseExceptionMessage($responseObj));
            case 401:
                throw new InvalidCredentials(ExceptionMessages::EXCEPTION_INVALID_CREDENTIALS);
            case 404:
                throw new MissingEndpoint(ExceptionMessages::EXCEPTION_MISSING_ENDPOINT . $this->getResponseExceptionMessage($responseObj));
            default:
                throw new GenericHTTPError(ExceptionMessages::EXCEPTION_GENERIC_HTTP_ERROR, $httpResponseCode, $responseObj->getBody());
        }
    }