﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
18215	Don't assume POST data is always application/x-www-form-urlencoded	Steve Lacy	nobody	"It seems as though the code in HttpRequest that takes the raw POST data and turns it into request.POST (a QueryDict instance) always assumes that the incoming data is form encoded.  In fact, the QueryDict class itself does the decoding, which seems a bit odd to me. 

Many web application frameworks are using JSON (application/javascript or text/json, usually) encoded POST bodies, and other frameworks will use (gasp!) XML.  Django should look at the request.meta['CONTENT_TYPE'] of the incoming data, and use the right deterializers.   Supported deserializers should be ""form encoded"" (the current), json (via simplejson) and likely XML .

REST frameworks like django-rest-framework and tastypie have better handling of POST/PUT data than Django itself, irrespective of the ""RESTyness"" of the whole thing.  "	New feature	closed	HTTP handling	1.4	Normal	duplicate			Unreviewed	0	0	0	0	0	0
