Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
django-rest-framework
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
django-rest-framework
Commits
73d8a2bc
Commit
73d8a2bc
authored
Jan 13, 2014
by
Tom Christie
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
git://github.com/cguethle/django-rest-framework
into cguethle-master
parents
2ecd9841
7a87893b
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
15 additions
and
21 deletions
+15
-21
rest_framework/exceptions.py
+15
-21
No files found.
rest_framework/exceptions.py
View file @
73d8a2bc
...
...
@@ -13,47 +13,40 @@ class APIException(Exception):
Base class for REST framework exceptions.
Subclasses should provide `.status_code` and `.detail` properties.
"""
pass
status_code
=
status
.
HTTP_500_INTERNAL_SERVER_ERROR
default_detail
=
""
def
__init__
(
self
,
detail
=
None
,
status_code
=
None
):
self
.
status_code
=
status_code
or
self
.
status_code
self
.
detail
=
detail
or
self
.
default_detail
class
ParseError
(
APIException
):
status_code
=
status
.
HTTP_400_BAD_REQUEST
default_detail
=
'Malformed request.'
def
__init__
(
self
,
detail
=
None
):
self
.
detail
=
detail
or
self
.
default_detail
class
AuthenticationFailed
(
APIException
):
status_code
=
status
.
HTTP_401_UNAUTHORIZED
default_detail
=
'Incorrect authentication credentials.'
def
__init__
(
self
,
detail
=
None
):
self
.
detail
=
detail
or
self
.
default_detail
class
NotAuthenticated
(
APIException
):
status_code
=
status
.
HTTP_401_UNAUTHORIZED
default_detail
=
'Authentication credentials were not provided.'
def
__init__
(
self
,
detail
=
None
):
self
.
detail
=
detail
or
self
.
default_detail
class
PermissionDenied
(
APIException
):
status_code
=
status
.
HTTP_403_FORBIDDEN
default_detail
=
'You do not have permission to perform this action.'
def
__init__
(
self
,
detail
=
None
):
self
.
detail
=
detail
or
self
.
default_detail
class
MethodNotAllowed
(
APIException
):
status_code
=
status
.
HTTP_405_METHOD_NOT_ALLOWED
default_detail
=
"Method '
%
s' not allowed."
def
__init__
(
self
,
method
,
detail
=
None
):
s
elf
.
detail
=
(
detail
or
self
.
default_detail
)
%
method
s
uper
(
MethodNotAllowed
,
self
)
.
__init__
((
detail
or
self
.
default_detail
)
%
method
)
class
NotAcceptable
(
APIException
):
...
...
@@ -61,7 +54,7 @@ class NotAcceptable(APIException):
default_detail
=
"Could not satisfy the request's Accept header"
def
__init__
(
self
,
detail
=
None
,
available_renderers
=
None
):
s
elf
.
detail
=
detail
or
self
.
default_detail
s
uper
(
NotAcceptable
,
self
)
.
__init__
(
detail
)
self
.
available_renderers
=
available_renderers
...
...
@@ -70,19 +63,19 @@ class UnsupportedMediaType(APIException):
default_detail
=
"Unsupported media type '
%
s' in request."
def
__init__
(
self
,
media_type
,
detail
=
None
):
s
elf
.
detail
=
(
detail
or
self
.
default_detail
)
%
media_type
s
uper
(
UnsupportedMediaType
,
self
)
.
__init__
((
detail
or
self
.
default_detail
)
%
media_type
)
class
Throttled
(
APIException
):
status_code
=
status
.
HTTP_429_TOO_MANY_REQUESTS
default_detail
=
"Request was throttled."
default_detail
=
'Request was throttled.'
extra_detail
=
"Expected available in
%
d second
%
s."
def
__init__
(
self
,
wait
=
None
,
detail
=
None
):
super
(
Throttled
,
self
)
.
__init__
(
detail
)
import
math
self
.
wait
=
wait
and
math
.
ceil
(
wait
)
or
None
if
wait
is
not
None
:
format
=
detail
or
self
.
default_detail
+
self
.
extra_detail
self
.
detail
=
format
%
(
self
.
wait
,
self
.
wait
!=
1
and
's'
or
''
)
else
:
self
.
detail
=
detail
or
self
.
default_detail
format
=
self
.
detail
+
self
.
extra_detail
self
.
detail
=
format
%
(
self
.
wait
,
self
.
wait
!=
1
and
's'
or
''
)
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment