mirror of
https://github.com/encode/django-rest-framework.git
synced 2025-03-01 09:50:40 +03:00
Urg. Fixing broken merge
This commit is contained in:
parent
b18302586c
commit
5a59f339c1
|
@ -68,7 +68,7 @@ class UserLoggedInAuthenticator(BaseAuthenticator):
|
||||||
if request.method.upper() == 'POST':
|
if request.method.upper() == 'POST':
|
||||||
# Temporarily replace request.POST with .RAW_CONTENT,
|
# Temporarily replace request.POST with .RAW_CONTENT,
|
||||||
# so that we use our more generic request parsing
|
# so that we use our more generic request parsing
|
||||||
request._post = self.mixin.RAW_CONTENT
|
request._post = self.view.RAW_CONTENT
|
||||||
resp = CsrfViewMiddleware().process_view(request, None, (), {})
|
resp = CsrfViewMiddleware().process_view(request, None, (), {})
|
||||||
del(request._post)
|
del(request._post)
|
||||||
if resp is not None: # csrf failed
|
if resp is not None: # csrf failed
|
||||||
|
|
|
@ -9,8 +9,14 @@ from django.template import RequestContext, loader
|
||||||
from django.utils import simplejson as json
|
from django.utils import simplejson as json
|
||||||
from django import forms
|
from django import forms
|
||||||
|
|
||||||
from decimal import Decimal
|
from djangorestframework.utils import dict2xml, url_resolves
|
||||||
|
from djangorestframework.markdownwrapper import apply_markdown
|
||||||
|
from djangorestframework.breadcrumbs import get_breadcrumbs
|
||||||
|
from djangorestframework.description import get_name, get_description
|
||||||
|
from djangorestframework import status
|
||||||
|
|
||||||
|
from decimal import Decimal
|
||||||
|
import string
|
||||||
|
|
||||||
# TODO: Rename verbose to something more appropriate
|
# TODO: Rename verbose to something more appropriate
|
||||||
# TODO: Maybe None could be handled more cleanly. It'd be nice if it was handled by default,
|
# TODO: Maybe None could be handled more cleanly. It'd be nice if it was handled by default,
|
||||||
|
|
|
@ -77,55 +77,59 @@ class Resource(RequestMixin, ResponseMixin, AuthMixin, View):
|
||||||
# all other authentication is CSRF exempt.
|
# all other authentication is CSRF exempt.
|
||||||
@csrf_exempt
|
@csrf_exempt
|
||||||
def dispatch(self, request, *args, **kwargs):
|
def dispatch(self, request, *args, **kwargs):
|
||||||
self.request = request
|
|
||||||
self.args = args
|
|
||||||
self.kwargs = kwargs
|
|
||||||
|
|
||||||
# Calls to 'reverse' will not be fully qualified unless we set the scheme/host/port here.
|
|
||||||
prefix = '%s://%s' % (request.is_secure() and 'https' or 'http', request.get_host())
|
|
||||||
set_script_prefix(prefix)
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# If using a form POST with '_method'/'_content'/'_content_type' overrides, then alter
|
self.request = request
|
||||||
# self.method, self.content_type, self.RAW_CONTENT & self.CONTENT appropriately.
|
self.args = args
|
||||||
self.perform_form_overloading()
|
self.kwargs = kwargs
|
||||||
|
|
||||||
# Authenticate and check request is has the relevant permissions
|
# Calls to 'reverse' will not be fully qualified unless we set the scheme/host/port here.
|
||||||
self.check_permissions()
|
prefix = '%s://%s' % (request.is_secure() and 'https' or 'http', request.get_host())
|
||||||
|
set_script_prefix(prefix)
|
||||||
# Get the appropriate handler method
|
|
||||||
if self.method.lower() in self.http_method_names:
|
try:
|
||||||
handler = getattr(self, self.method.lower(), self.http_method_not_allowed)
|
# If using a form POST with '_method'/'_content'/'_content_type' overrides, then alter
|
||||||
# If a previously defined method has been disabled
|
# self.method, self.content_type, self.RAW_CONTENT & self.CONTENT appropriately.
|
||||||
if handler is None:
|
self.perform_form_overloading()
|
||||||
|
|
||||||
|
# Authenticate and check request is has the relevant permissions
|
||||||
|
self.check_permissions()
|
||||||
|
|
||||||
|
# Get the appropriate handler method
|
||||||
|
if self.method.lower() in self.http_method_names:
|
||||||
|
handler = getattr(self, self.method.lower(), self.http_method_not_allowed)
|
||||||
|
# If a previously defined method has been disabled
|
||||||
|
if handler is None:
|
||||||
|
handler = self.http_method_not_allowed
|
||||||
|
else:
|
||||||
handler = self.http_method_not_allowed
|
handler = self.http_method_not_allowed
|
||||||
else:
|
|
||||||
handler = self.http_method_not_allowed
|
response_obj = handler(request, *args, **kwargs)
|
||||||
|
|
||||||
response_obj = handler(request, *args, **kwargs)
|
# Allow return value to be either Response, or an object, or None
|
||||||
|
if isinstance(response_obj, Response):
|
||||||
# Allow return value to be either Response, or an object, or None
|
response = response_obj
|
||||||
if isinstance(response_obj, Response):
|
elif response_obj is not None:
|
||||||
response = response_obj
|
response = Response(status.HTTP_200_OK, response_obj)
|
||||||
elif response_obj is not None:
|
else:
|
||||||
response = Response(status.HTTP_200_OK, response_obj)
|
response = Response(status.HTTP_204_NO_CONTENT)
|
||||||
else:
|
|
||||||
response = Response(status.HTTP_204_NO_CONTENT)
|
# Pre-serialize filtering (eg filter complex objects into natively serializable types)
|
||||||
|
response.cleaned_content = self.cleanup_response(response.raw_content)
|
||||||
# Pre-serialize filtering (eg filter complex objects into natively serializable types)
|
|
||||||
response.cleaned_content = self.cleanup_response(response.raw_content)
|
except ErrorResponse, exc:
|
||||||
|
response = exc.response
|
||||||
except ErrorResponse, exc:
|
|
||||||
response = exc.response
|
# Always add these headers.
|
||||||
|
#
|
||||||
# Always add these headers.
|
# TODO - this isn't actually the correct way to set the vary header,
|
||||||
#
|
# also it's currently sub-obtimal for HTTP caching - need to sort that out.
|
||||||
# TODO - this isn't actually the correct way to set the vary header,
|
response.headers['Allow'] = ', '.join(self.allowed_methods)
|
||||||
# also it's currently sub-obtimal for HTTP caching - need to sort that out.
|
response.headers['Vary'] = 'Authenticate, Accept'
|
||||||
response.headers['Allow'] = ', '.join(self.allowed_methods)
|
|
||||||
response.headers['Vary'] = 'Authenticate, Accept'
|
return self.emit(response)
|
||||||
|
except:
|
||||||
return self.emit(response)
|
import traceback
|
||||||
|
traceback.print_exc()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -3,10 +3,7 @@
|
||||||
|
|
||||||
from django.core.urlresolvers import reverse
|
from django.core.urlresolvers import reverse
|
||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
<<<<<<< local
|
|
||||||
=======
|
|
||||||
from django.core.urlresolvers import reverse
|
from django.core.urlresolvers import reverse
|
||||||
>>>>>>> other
|
|
||||||
from django.utils import simplejson as json
|
from django.utils import simplejson as json
|
||||||
|
|
||||||
from djangorestframework.compat import RequestFactory
|
from djangorestframework.compat import RequestFactory
|
||||||
|
@ -170,10 +167,7 @@ class AllowedMethodsTests(TestCase):
|
||||||
|
|
||||||
|
|
||||||
#above testcases need to probably moved to the core
|
#above testcases need to probably moved to the core
|
||||||
<<<<<<< local
|
|
||||||
=======
|
|
||||||
|
|
||||||
>>>>>>> other
|
|
||||||
|
|
||||||
class TestRotation(TestCase):
|
class TestRotation(TestCase):
|
||||||
"""For the example the maximum amount of Blogposts is capped off at views.MAX_POSTS.
|
"""For the example the maximum amount of Blogposts is capped off at views.MAX_POSTS.
|
||||||
|
|
|
@ -1,18 +1,12 @@
|
||||||
from django.test import TestCase
|
from django.test import TestCase
|
||||||
from django.utils import simplejson as json
|
from django.utils import simplejson as json
|
||||||
<<<<<<< local
|
|
||||||
|
|
||||||
=======
|
|
||||||
>>>>>>> other
|
|
||||||
from djangorestframework.compat import RequestFactory
|
from djangorestframework.compat import RequestFactory
|
||||||
|
|
||||||
from pygments_api import views
|
from pygments_api import views
|
||||||
import tempfile, shutil
|
import tempfile, shutil
|
||||||
|
|
||||||
<<<<<<< local
|
|
||||||
|
|
||||||
=======
|
|
||||||
>>>>>>> other
|
|
||||||
|
|
||||||
class TestPygmentsExample(TestCase):
|
class TestPygmentsExample(TestCase):
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user