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@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;