diff options
author | Christopher Allan Webber <cwebber@dustycloud.org> | 2013-08-15 10:34:20 -0500 |
---|---|---|
committer | Christopher Allan Webber <cwebber@dustycloud.org> | 2013-08-15 10:34:20 -0500 |
commit | 4834ef8ec21e985290f5e0015ae9452070956170 (patch) | |
tree | 365b6043f4a18a40a01d5aa13700ab98ee031613 /mediagoblin/tools/request.py | |
parent | 29cd702e4776811a96c3c088bd9ba8fc6f9176f0 (diff) | |
parent | 89909bd6921efb4ec3296c908c5d57eba35ebd21 (diff) | |
download | mediagoblin-4834ef8ec21e985290f5e0015ae9452070956170.tar.lz mediagoblin-4834ef8ec21e985290f5e0015ae9452070956170.tar.xz mediagoblin-4834ef8ec21e985290f5e0015ae9452070956170.zip |
Merge remote-tracking branch 'refs/remotes/tsyesika/master'
New oauth tools! Heck yeah!
Diffstat (limited to 'mediagoblin/tools/request.py')
-rw-r--r-- | mediagoblin/tools/request.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/mediagoblin/tools/request.py b/mediagoblin/tools/request.py index ee342eae..d4739039 100644 --- a/mediagoblin/tools/request.py +++ b/mediagoblin/tools/request.py @@ -14,12 +14,18 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. +import json import logging from mediagoblin.db.models import User _log = logging.getLogger(__name__) +# MIME-Types +form_encoded = "application/x-www-form-urlencoded" +json_encoded = "application/json" + + def setup_user_in_request(request): """ Examine a request and tack on a request.user parameter if that's @@ -36,3 +42,15 @@ def setup_user_in_request(request): # this session. _log.warn("Killing session for user id %r", request.session['user_id']) request.session.delete() + +def decode_request(request): + """ Decodes a request based on MIME-Type """ + data = request.get_data() + + if request.content_type == json_encoded: + data = json.loads(data) + elif request.content_type == form_encoded or request.content_type == "": + data = request.form + else: + data = "" + return data |