Commit Graph

89 Commits

Author SHA1 Message Date
Tom Christie
6e51e4f5cd Versioning first pass 2014-12-16 15:34:19 +00:00
José Padilla
4ebd8770b9 Update excepteion_handler signature 2014-12-14 20:47:33 -04:00
José Padilla
26c223a34f Add get_exception_handler_context() 2014-12-14 16:43:58 -04:00
José Padilla
89e9fc98d6 Reuse exception_handler variable throughout 2014-12-14 15:20:44 -04:00
José Padilla
fd003fcefa Add pending deprecation warning message 2014-12-14 15:03:20 -04:00
José Padilla
e8c0766568 Support handlers with and without context 2014-12-13 20:54:35 -04:00
José Padilla
0d109c90a7 Add context to exception handler #2236
Same context as renderers which include: the view,
args, kwargs, and request.

This provides enough contextual information to the
exception handlers to handle errors better.

In a use case like #1671, a custom handler
would allow Sentry to log the request properly.
2014-12-13 18:18:00 -04:00
Tymur Maryokhin
d54c67d79d Removed custom StringIO, force_text, smart_text compat 2014-12-04 03:11:42 +01:00
Tom Christie
d9a199ca0d exceptions.ValidationFailed, not Django's ValidationError 2014-10-10 14:16:09 +01:00
Craig de Stigter
dfab9af294 Minor: fix spelling and grammar, mostly in 3.0 announcement 2014-10-03 08:41:18 +13:00
Tom Christie
f4b1dcb167 OPTIONS support 2014-09-24 14:09:49 +01:00
Tom Christie
6db3356c4d NON_FIELD_ERRORS_KEY setting 2014-09-12 10:21:35 +01:00
Tom Christie
19b8f779de Throttles now use Retry-After header and no longer support the custom style 2014-09-11 20:43:44 +01:00
Tom Christie
de301f3b66 Merge master 2014-09-11 13:20:44 +01:00
Tom Christie
21980b800d More test sorting 2014-09-08 14:24:05 +01:00
Piper Merriam
fc9be55d43 Alter CSRF exemption implementation
The previous implementation of decorating `APIView.dispach` with the
`csrf_exempt` decorator allowed for an easy-to-make mistake where
someone could override the `dispatch` method on a view and inadvertantly
remove the csrf exemption of their api view.

By moving the decoration of the view into the `as_view` logic, it
becomes much more difficult to make this mistake.
2014-09-03 09:50:31 -06:00
Dmitry Mukhin
3b07d0c997 Merge branch 'master' into set-retry-after
Conflicts:
	tests/test_throttling.py
2014-08-20 20:04:48 +04:00
Tom Christie
bf09c32de8 Code linting and added runtests.py 2014-08-19 13:28:07 +01:00
Dmitry Mukhin
c3891b6e00 set Retry-After header when throttled 2014-04-07 20:31:12 +04:00
David Larlet
07cb436d61 Typo in keywords arguments name
Because it matters ;)
2014-03-04 16:32:34 +01:00
hongfeiZhang
693d9d9c63 In the method permission_denied, did not use the request parameter. 2014-03-01 11:37:31 +08:00
Tom Christie
18f26ff5cc Only add 'Vary: Accept' header when there is more than one possible renderer. 2014-01-30 17:47:55 +00:00
Tom Christie
9f0ead9597 Remove TODO note, since it hasn't been TODONE. 2014-01-30 17:32:05 +00:00
Tom Christie
6302307885 Update comment in get_parser_context. 2013-10-24 13:45:16 +01:00
Andy Freeland
b5523bcc7d Support customizable view EXCEPTION_HANDLER
Add `api_settings.EXCEPTION_HANDLER` to support custom error responses.

Fixes #907.
2013-09-06 12:47:33 -05:00
Tom Christie
b54cbd292c Use view.settings for API settings, to make testing easier. 2013-08-27 12:36:06 +01:00
Tom Christie
b430503fa6 Move exception handler out of main view 2013-08-27 12:32:33 +01:00
Tom Christie
5120670624 Document customizable view names/descriptions 2013-08-19 08:45:53 +01:00
Tom Christie
89b0a539c3 Move view name/description functions into public space 2013-08-19 08:24:27 +01:00
Christopher Paolini
e6662d434f Improved view/description function setting
Now supports each View having its own name and description function and
overriding the global default.
2013-08-17 17:44:51 -04:00
Jeremy Satterfield
1d8a80f5cc don't set X-Throttle-Wait-Second header if throttle wait is None 2013-08-13 15:31:58 -05:00
Tom Christie
8cc63b09f6 Add support for StreamingHttpResponse. Closes #939 2013-06-21 22:42:04 +01:00
Ethan Fremen
ae2887ffc4 Set the args and kwargs before initializing the request.
Allows get_parser_context to function correctly.

Signed-off-by: Ethan Fremen <ethan@matterport.com>
2013-06-07 19:25:39 -07:00
Tom Christie
40e09472d8 Never deepcopy validators. Closes #913 2013-06-06 08:56:39 +01:00
Tom Christie
fcaee6e580 Clean up OPTIONS implementation 2013-05-24 23:44:23 +01:00
Oscar Vilaplana
a1deb5eac7 simplified, moved field humanizing to Field. broken tests 2013-05-23 08:26:55 +02:00
Oscar Vilaplana
7a5cd090aa fixed tests, added docs, renamed helper method 2013-05-19 15:45:33 +02:00
Nikolaus Schlemm
88c94f3720 Merge remote-tracking branch 'grimborg/issue-192-expose-fields-for-options' into issue-192-expose-fields-for-options 2013-05-19 14:58:11 +02:00
Oscar Vilaplana
f1f5f92d89 Added tests, cleaned up imports 2013-05-19 14:55:46 +02:00
Nikolaus Schlemm
efca5f6fec use double quotes for docstring instead of single quotes 2013-05-19 14:54:16 +02:00
Nikolaus Schlemm
1154c12b33 don't expose fields for GET and DELETE - leaving room for parameters like e.g. filter or paginate 2013-05-19 11:37:12 +02:00
Nikolaus Schlemm
a91841f7fe WORKAROUND: avoid errors like "AttributeError: 'APIRoot' object has no attribute 'get_serializer'" 2013-05-19 11:29:41 +02:00
Nikolaus Schlemm
c0f3a1c397 Integrated status quo of grimborg's awesome humanize_field() for exposing field metadata via OPTIONS :) 2013-05-19 09:25:02 +02:00
Nikolaus Schlemm
843ae60237 Merge branch 'issue-192-expose-fields-for-options' of git://github.com/grimborg/django-rest-framework into issue-192-expose-fields-for-options
Conflicts:
	rest_framework/tests/fields.py
2013-05-18 18:34:21 +02:00
Oscar Vilaplana
4dffcb5d77 Added humanized field names and types 2013-05-18 18:10:17 +02:00
Nikolaus Schlemm
5ab7cc6e6b HEAD and OPTIONS should not be exposed as actions as discussed in a42afa04c3 (commitcomment-3241476) 2013-05-18 17:38:47 +02:00
Nikolaus Schlemm
b4dbfa9832 only catch relevant exceptions ;) 2013-05-18 17:10:13 +02:00
Nikolaus Schlemm
f8c1481d4b expose the fields metadata via OPTIONS as described in https://github.com/tomchristie/django-rest-framework/issues/192
missing:
 - get fields for method (currently all the same)
 - tests
 - right placement of code
2013-05-18 16:21:25 +02:00
Tom Christie
95abe6e844 Cleanup docstrings 2013-04-25 12:47:34 +01:00
Tom Christie
835d3f89d3 Merge remove-django-generics 2013-04-23 11:59:13 +01:00