diff options
Diffstat (limited to 'djangorestframework/methods.py')
| -rw-r--r-- | djangorestframework/methods.py | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/djangorestframework/methods.py b/djangorestframework/methods.py deleted file mode 100644 index 088c563c..00000000 --- a/djangorestframework/methods.py +++ /dev/null @@ -1,35 +0,0 @@ -"""Mixin classes that provide a determine_method(request) function to determine the HTTP -method that a given request should be treated as. We use this more generic behaviour to -allow for overloaded methods in POST forms. - -See Richardson & Ruby's RESTful Web Services for justification. -""" - -class MethodMixin(object): - """Base class for all MethodMixin classes, which simply defines the interface they provide.""" - def determine_method(self, request): - """Simply return GET, POST etc... as appropriate.""" - raise NotImplementedError() - - -class StandardMethodMixin(MethodMixin): - """Provide for standard HTTP behaviour, with no overloaded POST.""" - - def determine_method(self, request): - """Simply return GET, POST etc... as appropriate.""" - return request.method.upper() - - -class OverloadedPOSTMethodMixin(MethodMixin): - """Provide for overloaded POST behaviour.""" - - """The name to use for the method override field in the POST form.""" - METHOD_PARAM = '_method' - - def determine_method(self, request): - """Simply return GET, POST etc... as appropriate, allowing for POST overloading - by setting a form field with the requested method name.""" - method = request.method.upper() - if method == 'POST' and self.METHOD_PARAM and request.POST.has_key(self.METHOD_PARAM): - method = request.POST[self.METHOD_PARAM].upper() - return method
\ No newline at end of file |
