nucleus/rna/middleware.py (9 lines of code) (raw):
try:
from django.utils.deprecation import MiddlewareMixin
except ImportError:
MiddlewareMixin = object
METHOD_OVERRIDE_HEADER = "HTTP_X_HTTP_METHOD_OVERRIDE"
class PatchOverrideMiddleware(MiddlewareMixin):
def process_view(self, request, callback, callback_args, callback_kwargs):
if request.method == "POST" and request.META.get(METHOD_OVERRIDE_HEADER) == "PATCH":
request.method = "PATCH"