moksha/api/connectors.py | 1 +
moksha/middleware/connector.py | 15 +++++++++++----
moksha/public/javascript/moksha.js | 13 +++++++++++--
3 files changed, 23 insertions(+), 6 deletions(-)
New commits:
commit 48c5882558db551fea6694ad1a09be206dcd4ac5
Author: John (J5) Palmieri <johnp(a)redhat.com>
Date: Mon Feb 23 19:53:05 2009 -0500
fix up the connectors a bit and fix csrf url rewritting
diff --git a/moksha/api/connectors.py b/moksha/api/connectors.py
new file mode 100644
index 0000000..d07b7b6
--- /dev/null
+++ b/moksha/api/connectors.py
@@ -0,0 +1 @@
+from moksha.middleware.connector import _get_connector as get_connector
\ No newline at end of file
diff --git a/moksha/middleware/connector.py b/moksha/middleware/connector.py
index f1f0291..9193058 100644
--- a/moksha/middleware/connector.py
+++ b/moksha/middleware/connector.py
@@ -38,11 +38,12 @@ class MokshaConnectorMiddleware(object):
run that connector as defined in it's egg-info.
"""
+
+ _connectors = {}
+
def __init__(self, application):
log.info('Creating MokshaConnectorMiddleware')
self.application = application
- self.connectors = {} # {'connector name': moksha.IConnector class}
-
self.load_connectors()
def __call__(self, environ, start_response):
@@ -89,7 +90,7 @@ class MokshaConnectorMiddleware(object):
path = path[:-1]
path = '/'.join(path)
- conn = self.connectors.get(conn)
+ conn = self._connectors.get(conn)
if conn:
conn_obj = conn['connector_class']()
@@ -111,8 +112,14 @@ class MokshaConnectorMiddleware(object):
# FIXME: Should we pass some resource in?
conn_class.register()
conn_path = conn_entry.dist.location
- self.connectors[conn_entry.name] = {
+ self._connectors[conn_entry.name] = {
'name': conn_entry.name,
'connector_class': conn_class,
'path': conn_path,
}
+
+def _get_connector(name):
+ # TODO: having a connection pool might be nice
+ c = MokshaConnectorMiddleware._connectors[name]
+
+ return c['connector_class']()
\ No newline at end of file
diff --git a/moksha/public/javascript/moksha.js b/moksha/public/javascript/moksha.js
index ba98362..662c4e3 100644
--- a/moksha/public/javascript/moksha.js
+++ b/moksha/public/javascript/moksha.js
@@ -102,8 +102,17 @@ moksha = {
if (proto)
proto += '://';
var newurl = proto + ourl.authority + ourl.path;
- newurl += '?' + ourl.query + '&_csrf_token=' +
moksha_csrf_token;
- newurl += '#' + ourl.anchor;
+ var qlist = []
+ ourl.queryKey['_csrf_token'] = moksha_csrf_token;
+ for (q in ourl.queryKey) {
+ qlist.push(q + '=' + ourl.queryKey[q]);
+ }
+
+ var query = qlist.join('&')
+ newurl += '?'+ query + moksha_csrf_token;
+
+ if (ourl.anchor)
+ newurl += '#' + ourl.anchor;
return newurl;
Show replies by date