paste.request.parse_formvars pour analyse des arguments cgi
authorThomas NOEL <thomas@new-dev.(none)>
Thu, 3 Jul 2008 02:09:08 +0000 (22:09 -0400)
committerThomas NOEL <thomas.noel@auf.org>
Thu, 3 Jul 2008 02:09:08 +0000 (22:09 -0400)
rest.wsgi

index 89da20b..09e55de 100644 (file)
--- a/rest.wsgi
+++ b/rest.wsgi
@@ -10,8 +10,8 @@ import rest_config
 # pour savoir quel objet interroger : Routes
 from routes import Mapper
 from routes.middleware import RoutesMiddleware
-# et analyse de query_string (TODO: etudier parse au lieu de cgi)
-from cgi import parse_qs
+# et analyse des paramètres (POST et query_string) pour filtrage
+from paste.request import parse_formvars
 
 # pour chercher les données sur MS-SQL
 from pymssql import connect
@@ -139,11 +139,8 @@ class comare(document):
         super(comare, self).__init__(environ, code_document = 'COM-ARE-%s' % impl)
 
 def dispatcher(environ, start_response):
-    """sera lancée par mod_wsgi"""
-    if environ.has_key('QUERY_STRING'):
-        environ['org.auf.filters'] = parse_qs(environ['QUERY_STRING'])
-    else:
-        environ['org.auf.filters'] = {}
+    """dispatch vers la bonne methode du bon objet, et retour WSGI"""
+    parse_formvars(environ)
     results = environ['wsgiorg.routing_args'][1]
     try:
         target_class = globals()[results['controller']]
@@ -156,7 +153,9 @@ def dispatcher(environ, start_response):
         start_response("404 NOT FOUND", [('Content-type', 'text/plain')])
         return 'erreur lors du traitement\n%s: %s\n%s' % ( sys.exc_info()[0] , sys.exc_info()[1] , traceback.format_exc())
 
+# application qui sera lancée par mod_wsgi : on route et on dispatche
 application = RoutesMiddleware( dispatcher, mapper)
+# TODO : ajouter un middleware de cache (beaker)
 
 
 #