http.py 文件源码

python
阅读 29 收藏 0 点赞 0 评论 0

项目:League.py 作者: datmellow 项目源码 文件源码
def error_handler(self, response: aiohttp.ClientResponse, method):
        """Called if the response's status is not 200.

        Raises the appropriate error to the status code.

        Parameters
        ----------
        response : dict
            The response obj, used for grabbing status/JSON.
        method
            The method this response was used with.

        Raises
        -------
        Any

        """
        error_message = None
        error_json = await response.json()
        if error_json is not None:
            error_message = error_json['status']['message']
        if response.status == 400:
            try:
                raise errors.BadRequest(error_json)
            except errors.BadRequest as e:
                log.error(e)
        elif response.status == 403:
            raise errors.UnAuthorized
        elif response.status == 404:
            raise errors.EmptyResponse(message=error_message)
        elif response.status == 422:
            raise errors.InactivePlayer
        elif response.status == 429:
            cooldown = int(response.headers.get("Retry-After"))
            log.error(" 429 - Rate limited for {0} seconds on method {1}".format(cooldown, method))
            self.handlers[method].cool_down = cooldown
            await self.handlers[method].cool_down_handler()
        elif response.status in [500, 502, 503, 504]:
            raise errors.ServiceUnavailable
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号