From 250ab0f609f32cd3e004e1f2711f9c2e4fd9b57c Mon Sep 17 00:00:00 2001
From: tom christie tom@tomchristie.com
Date: Sun, 30 Jan 2011 11:00:20 +0000
Subject: Lots of docs, trying to tidy up examples...
---
docs/howto/usingcurl.rst | 30 ++++++++++++++++++++++++++++++
1 file changed, 30 insertions(+)
create mode 100644 docs/howto/usingcurl.rst
(limited to 'docs/howto/usingcurl.rst')
diff --git a/docs/howto/usingcurl.rst b/docs/howto/usingcurl.rst
new file mode 100644
index 00000000..a1f748c1
--- /dev/null
+++ b/docs/howto/usingcurl.rst
@@ -0,0 +1,30 @@
+Using CURL with django-rest-framework
+=====================================
+
+`curl `_ is a great command line tool for making requests to URLs.
+
+There are a few things that can be helpful to remember when using CURL with django-rest-framework APIs.
+
+#. Curl sends an ``Accept: */*`` header by default::
+
+ curl -X GET http://example.com/my-api/
+
+#. Setting the ``Accept:`` header on a curl request can be useful::
+
+ curl -X GET -H 'Accept: application/json' http://example.com/my-api/
+
+#. The text/plain representation is useful for browsing the API::
+
+ curl -X GET -H 'Accept: text/plain' http://example.com/my-api/
+
+#. All POST requests should include an ```X-Requested-With: XMLHttpRequest`` header `_::
+
+ curl -X POST -H 'X-Requested-With: XMLHttpRequest' --data 'foo=bar' http://example.com/my-api/
+
+#. ``POST`` and ``PUT`` requests can contain form data (ie ``Content-Type:: application/x-www-form-urlencoded``)::
+
+ curl -X PUT --data 'foo=bar' http://example.com/my-api/some-resource/
+
+#. Or any other content type::
+
+ curl -X PUT -H 'Content-Type: application/json' --data-binary '{"foo":"bar"}' http://example.com/my-api/some-resource/
\ No newline at end of file
--
cgit v1.2.3