aboutsummaryrefslogtreecommitdiffstats
path: root/docs/topics/browser-enhancements.md
diff options
context:
space:
mode:
authorDave Kuhn2013-03-12 13:48:40 +1100
committerDave Kuhn2013-03-12 13:48:40 +1100
commit2bcb8ff12c967e71fb4871a9ac9e72395394d291 (patch)
treeecc69c1fe1ad49a7b65fd53cc838461418361a60 /docs/topics/browser-enhancements.md
parent2e481f3318609fff5b884a09cbc9d2c5782deae4 (diff)
downloaddjango-rest-framework-2bcb8ff12c967e71fb4871a9ac9e72395394d291.tar.bz2
Documentation for X-HTTP-Method-Override
Diffstat (limited to 'docs/topics/browser-enhancements.md')
-rw-r--r--docs/topics/browser-enhancements.md18
1 files changed, 18 insertions, 0 deletions
diff --git a/docs/topics/browser-enhancements.md b/docs/topics/browser-enhancements.md
index 6a11f0fa..8b191423 100644
--- a/docs/topics/browser-enhancements.md
+++ b/docs/topics/browser-enhancements.md
@@ -19,6 +19,23 @@ For example, given the following form:
`request.method` would return `"DELETE"`.
+## HTTP header based method overriding
+
+REST framework also supports method overriding via the `X-HTTP-Method-Override`
+header. This is useful if you are working with non-form content such as
+JSON and are working with an older web server and/or hosting provider
+(e.g. [Amazon Web Services ELB][aws_elb]) that doesn't recognise particular
+HTTP methods such as `PATCH`.
+
+For example, making a `PATCH` request via `POST` in jQuery:
+
+ $.ajax({
+ url: '/myresource/',
+ method: 'POST',
+ headers: {'X-HTTP-Method-Override': 'PATCH'},
+ ...
+ });
+
## Browser based submission of non-form content
Browser-based submission of content types other than form are supported by
@@ -62,3 +79,4 @@ as well as how to support content types other than form-encoded data.
[rails]: http://guides.rubyonrails.org/form_helpers.html#how-do-forms-with-put-or-delete-methods-work
[html5]: http://www.w3.org/TR/html5-diff/#changes-2010-06-24
[put_delete]: http://amundsen.com/examples/put-delete-forms/
+[aws_elb]: https://forums.aws.amazon.com/thread.jspa?messageID=400724