Add Forbidden and NotFound exceptions.
This commit is contained in:
parent
f197c34583
commit
99254fdf96
@ -65,6 +65,21 @@ class HTTPException(DiscordException):
|
|||||||
|
|
||||||
super().__init__(fmt.format(self.response, message))
|
super().__init__(fmt.format(self.response, message))
|
||||||
|
|
||||||
|
class Forbidden(HTTPException):
|
||||||
|
"""Exception that's thrown for when status code 403 occurs.
|
||||||
|
|
||||||
|
Subclass of :exc:`HTTPException`
|
||||||
|
"""
|
||||||
|
pass
|
||||||
|
|
||||||
|
class NotFound(HTTPException):
|
||||||
|
"""Exception that's thrown for when status code 404 occurs.
|
||||||
|
|
||||||
|
Subclass of :exc:`HTTPException`
|
||||||
|
"""
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
class InvalidArgument(ClientException):
|
class InvalidArgument(ClientException):
|
||||||
"""Exception that's thrown when an argument to a function
|
"""Exception that's thrown when an argument to a function
|
||||||
is invalid some way (e.g. wrong value or wrong type).
|
is invalid some way (e.g. wrong value or wrong type).
|
||||||
|
@ -25,7 +25,7 @@ DEALINGS IN THE SOFTWARE.
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
from re import split as re_split
|
from re import split as re_split
|
||||||
from .errors import HTTPException, InvalidArgument
|
from .errors import HTTPException, Forbidden, NotFound, InvalidArgument
|
||||||
import datetime
|
import datetime
|
||||||
import asyncio
|
import asyncio
|
||||||
|
|
||||||
@ -66,7 +66,12 @@ def _verify_successful_response(response):
|
|||||||
success = code >= 200 and code < 300
|
success = code >= 200 and code < 300
|
||||||
if not success:
|
if not success:
|
||||||
data = yield from response.json()
|
data = yield from response.json()
|
||||||
raise HTTPException(response, data.get('message'))
|
message = data.get('message')
|
||||||
|
if code == 403:
|
||||||
|
raise Forbidden(response, message)
|
||||||
|
elif code == 404:
|
||||||
|
raise NotFound(response, message)
|
||||||
|
raise HTTPException(response, message)
|
||||||
|
|
||||||
def _get_mime_type_for_image(data):
|
def _get_mime_type_for_image(data):
|
||||||
if data.startswith(b'\x89\x50\x4E\x47\x0D\x0A\x1A\x0A'):
|
if data.startswith(b'\x89\x50\x4E\x47\x0D\x0A\x1A\x0A'):
|
||||||
|
@ -358,6 +358,10 @@ The following exceptions are thrown by the library.
|
|||||||
.. autoexception:: HTTPException
|
.. autoexception:: HTTPException
|
||||||
:members:
|
:members:
|
||||||
|
|
||||||
|
.. autoexception:: Forbidden
|
||||||
|
|
||||||
|
.. autoexception:: NotFound
|
||||||
|
|
||||||
.. autoexception:: InvalidArgument
|
.. autoexception:: InvalidArgument
|
||||||
|
|
||||||
.. autoexception:: GatewayNotFound
|
.. autoexception:: GatewayNotFound
|
||||||
|
Loading…
x
Reference in New Issue
Block a user