From ed04725822d5dc9a90c9c6e5c14d85083ae6ff28 Mon Sep 17 00:00:00 2001 From: Brandon Cazander Date: Sat, 24 Jan 2015 01:44:40 -0800 Subject: Use enhanced request when cloning requests for checking permissions on other methods. Fixes #2455 --- rest_framework/request.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'rest_framework/request.py') diff --git a/rest_framework/request.py b/rest_framework/request.py index cfbbdecc..d5b56ada 100644 --- a/rest_framework/request.py +++ b/rest_framework/request.py @@ -86,7 +86,7 @@ def clone_request(request, method): Internal helper method to clone a request, replacing with a different HTTP method. Used for checking permissions against other methods. """ - ret = Request(request=request._request, + ret = Request(request=request, parsers=request.parsers, authenticators=request.authenticators, negotiator=request.negotiator, -- cgit v1.2.3 From bf58c1265ddf06deb435d049fae01ed324a310e0 Mon Sep 17 00:00:00 2001 From: Brandon Cazander Date: Mon, 26 Jan 2015 22:56:57 -0800 Subject: Set a version attribute on cloned requests if necessary. --- rest_framework/request.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'rest_framework/request.py') diff --git a/rest_framework/request.py b/rest_framework/request.py index d5b56ada..ce2fcb47 100644 --- a/rest_framework/request.py +++ b/rest_framework/request.py @@ -86,7 +86,7 @@ def clone_request(request, method): Internal helper method to clone a request, replacing with a different HTTP method. Used for checking permissions against other methods. """ - ret = Request(request=request, + ret = Request(request=request._request, parsers=request.parsers, authenticators=request.authenticators, negotiator=request.negotiator, @@ -107,6 +107,8 @@ def clone_request(request, method): ret.accepted_renderer = request.accepted_renderer if hasattr(request, 'accepted_media_type'): ret.accepted_media_type = request.accepted_media_type + if hasattr(request, 'version'): + ret.version = request.version return ret -- cgit v1.2.3 From ac87490b91e3405d497da360afed10842a73dfd0 Mon Sep 17 00:00:00 2001 From: Brandon Cazander Date: Tue, 27 Jan 2015 17:10:17 -0800 Subject: Clone the versioning_scheme when necessary. Fixes #2477 --- rest_framework/request.py | 2 ++ 1 file changed, 2 insertions(+) (limited to 'rest_framework/request.py') diff --git a/rest_framework/request.py b/rest_framework/request.py index ce2fcb47..bf6ff670 100644 --- a/rest_framework/request.py +++ b/rest_framework/request.py @@ -109,6 +109,8 @@ def clone_request(request, method): ret.accepted_media_type = request.accepted_media_type if hasattr(request, 'version'): ret.version = request.version + if hasattr(request, 'versioning_scheme'): + ret.versioning_scheme = request.versioning_scheme return ret -- cgit v1.2.3 From 1f996128458570a909d13f15c3d739fb12111984 Mon Sep 17 00:00:00 2001 From: Tom Christie Date: Fri, 6 Feb 2015 13:21:35 +0000 Subject: Upgrade pending deprecations to deprecations --- rest_framework/request.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'rest_framework/request.py') diff --git a/rest_framework/request.py b/rest_framework/request.py index bf6ff670..86fb1ef1 100644 --- a/rest_framework/request.py +++ b/rest_framework/request.py @@ -219,8 +219,8 @@ class Request(object): Synonym for `.query_params`, for backwards compatibility. """ warnings.warn( - "`request.QUERY_PARAMS` is pending deprecation. Use `request.query_params` instead.", - PendingDeprecationWarning, + "`request.QUERY_PARAMS` is deprecated. Use `request.query_params` instead.", + DeprecationWarning, stacklevel=1 ) return self._request.GET @@ -240,8 +240,8 @@ class Request(object): arbitrary parsers, and also works on methods other than POST (eg PUT). """ warnings.warn( - "`request.DATA` is pending deprecation. Use `request.data` instead.", - PendingDeprecationWarning, + "`request.DATA` is deprecated. Use `request.data` instead.", + DeprecationWarning, stacklevel=1 ) if not _hasattr(self, '_data'): @@ -257,8 +257,8 @@ class Request(object): arbitrary parsers, and also works on methods other than POST (eg PUT). """ warnings.warn( - "`request.FILES` is pending deprecation. Use `request.data` instead.", - PendingDeprecationWarning, + "`request.FILES` is deprecated. Use `request.data` instead.", + DeprecationWarning, stacklevel=1 ) if not _hasattr(self, '_files'): -- cgit v1.2.3