    def raise_for_status(self, response):
        http_error_msg = ''

        if 400 <= response.status_code < 500:
            try:
                http_error_msg = response.json()
            except:
                http_error_msg = ('{code} Client Error: {reason} for url: {url}'.format(
                    code=response.status_code, reason=response.reason, url=response.url)
                )

        elif 500 <= response.status_code < 600:
            http_error_msg = ('{code} Server Error: {reason} for url: {url}'.format(
                code=response.status_code, reason=response.reason, url=response.url)
            )

        if http_error_msg:
            raise HTTPError(http_error_msg, response=response)