Esempio n. 1
0
    def _CheckResponseStatus(self, response):
        if response.status_code == 200:
            return

        content = response.content
        json_str = content[len(self.JSON_PREFIX):]

        try:
            # TODO(hanuszczak): `json` package should not be used.
            parsed_json = json.loads(json_str)
            message = parsed_json["message"] + "\n" + parsed_json.get(
                "traceBack", "")
        except (ValueError, KeyError):
            message = content

        if response.status_code == 403:
            raise errors.AccessForbiddenError(message)
        elif response.status_code == 404:
            raise errors.ResourceNotFoundError(message)
        elif response.status_code == 422:
            raise errors.InvalidArgumentError(message)
        elif response.status_code == 501:
            raise errors.ApiNotImplementedError(message)
        else:
            raise errors.UnknownError(message)
Esempio n. 2
0
    def _CheckResponseStatus(self, response):
        if response.status_code == 200:
            return

        content = response.content
        json_str = content[len(self.JSON_PREFIX):]

        try:
            parsed_json = json.loads(json_str)
            message = parsed_json["message"]
        except (ValueError, KeyError):
            message = content

        if response.status_code == 403:
            raise errors.AccessForbiddenError(message)
        elif response.status_code == 404:
            raise errors.ResourceNotFoundError(message)
        elif response.status_code == 422:
            raise errors.InvalidArgumentError(message)
        elif response.status_code == 501:
            raise errors.ApiNotImplementedError(message)
        else:
            raise errors.UnknownError(message)