def check_response_status(self, response): """ Check if response is successful. Else raise Exception. """ if not (200 <= response.status_code < 300): try: message = response.json()["errors"] except Exception: message = None floyd_logger.debug("Error received : status_code: {}, message: {}".format(response.status_code, message or response.content)) if response.status_code == 400: raise BadRequestException(response) elif response.status_code == 401: raise AuthenticationException() elif response.status_code == 403: raise AuthorizationException() elif response.status_code == 404: raise NotFoundException() elif response.status_code == 429: raise OverLimitException(response.json().get("message")) elif response.status_code == 502: raise BadGatewayException() elif response.status_code == 504: raise GatewayTimeoutException() elif 500 <= response.status_code < 600: if 'Server under maintenance' in response.content.decode(): raise ServerException('Server under maintenance, please try again later.') else: raise ServerException() else: msg = "An error occurred. Server response: {}".format(response.status_code) raise FloydException(message=msg)
def check_response_status(self, response): """ Check if response is successful. Else raise Exception. """ if not (200 <= response.status_code < 300): try: message = response.json()["errors"] except Exception: message = None floyd_logger.debug("Error received : status_code: {}, message: {}".format(response.status_code, message or response.content)) if response.status_code == 401: raise AuthenticationException() elif response.status_code == 404: raise NotFoundException() elif response.status_code == 400: raise BadRequestException() elif response.status_code == 429: raise OverLimitException(response.json().get("message")) else: response.raise_for_status()