def _handle_response(self, resp):
        """Handle the response from QuadrigaCX.

        :param resp: Response from QuadrigaCX.
        :type resp: requests.models.Response
        :return: Response body.
        :rtype: dict
        :raise quadriga.exceptions.RequestError: If HTTP OK was not returned.
        """
        http_code = resp.status_code
        if http_code not in self.http_success_status_codes:
            raise RequestError(
                response=resp,
                message='[HTTP {}] {}'.format(http_code, resp.reason)
            )
        try:
            body = resp.json()
        except ValueError:
            raise RequestError(
                response=resp,
                message='[HTTP {}] response body: {}'.format(
                    http_code,
                    resp.text
                )
            )
        else:
            if 'error' in body:
                error_code = body['error'].get('code', '?')
                raise RequestError(
                    response=resp,
                    message='[HTTP {}][ERR {}] {}'.format(
                        resp.status_code,
                        error_code,
                        body['error'].get('message', 'no error message')
                    ),
                    error_code=error_code
                )
            return body
Handle the response from QuadrigaCX.

        :param resp: Response from QuadrigaCX.
        :type resp: requests.models.Response
        :return: Response body.
        :rtype: dict
        :raise quadriga.exceptions.RequestError: If HTTP OK was not returned.