From 3c0068714f095567f64ce29ece9cfeb05f91295b Mon Sep 17 00:00:00 2001 From: Thierry Parmentelat Date: Mon, 11 Mar 2013 10:27:48 +0100 Subject: [PATCH] more comments + cosmetic --- engine/manifoldproxy.py | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/engine/manifoldproxy.py b/engine/manifoldproxy.py index a66f187a..20e95929 100644 --- a/engine/manifoldproxy.py +++ b/engine/manifoldproxy.py @@ -1,9 +1,3 @@ -# this view is what the javascript talks to when it sends a query -# see also -# myslice/urls.py -# as well as -# static/js/manifold-async.js - import json # this is for django objects only #from django.core import serializers @@ -12,31 +6,41 @@ from django.http import HttpResponse, HttpResponseForbidden from engine.manifoldquery import ManifoldQuery from engine.manifoldapi import ManifoldAPI -# xxx should probably cater for -# format_in : how is the query encoded in POST -# format_out: how to serve the results +# this view is what the javascript talks to when it sends a query +# see also +# myslice/urls.py +# as well as +# static/js/manifold-async.js def api (request,format): + """the view associated with /manifold/api/ +with the query passed using POST""" + # expecting a POST if request.method != 'POST': print "manifoldproxy.api: unexpected method %s -- exiting"%request.method return # we only support json for now + # if needed in the future we should probably cater for + # format_in : how is the query encoded in POST + # format_out: how to serve the results if format != 'json': print "manifoldproxy.api: unexpected format %s -- exiting"%format return - # xxx actually ask the backend here + # translate incoming POST request into a query object manifold_query = ManifoldQuery() manifold_query.fill_from_dict(request.POST) + # retrieve session for request manifold_api_session_auth = request.session['manifold']['auth'] + # actually forward manifold_api= ManifoldAPI(auth=manifold_api_session_auth) - # forward answer=manifold_api.send_manifold_query (manifold_query) + # return json-encoded answer return HttpResponse (json.dumps(answer), mimetype="application/json") #################### -# to enable : see CSRF_FAILURE_VIEW in settings.py -# probably we want to elaborate this one a little in real life -# at least we can display the reason in the django output (although this turns out disappointing) +# see CSRF_FAILURE_VIEW in settings.py +# the purpose of redefining this was to display the failure reason somehow +# this however turns out disappointing/not very informative failure_answer=[ "csrf_failure" ] def csrf_failure(request, reason=""): print "CSRF failure with reason '%s'"%reason -- 2.43.0