[rhmessaging-commits] rhmessaging commits: r2344 - mgmt/trunk/cumin/python/wooly.

rhmessaging-commits at lists.jboss.org rhmessaging-commits at lists.jboss.org
Thu Aug 21 16:33:43 EDT 2008


Author: eallen
Date: 2008-08-21 16:33:43 -0400 (Thu, 21 Aug 2008)
New Revision: 2344

Modified:
   mgmt/trunk/cumin/python/wooly/__init__.py
Log:
Clean up origin (referring url) by removing the http://host:port and removing the parent form's origin url.

Modified: mgmt/trunk/cumin/python/wooly/__init__.py
===================================================================
--- mgmt/trunk/cumin/python/wooly/__init__.py	2008-08-21 20:31:34 UTC (rev 2343)
+++ mgmt/trunk/cumin/python/wooly/__init__.py	2008-08-21 20:33:43 UTC (rev 2344)
@@ -4,6 +4,7 @@
 from copy import copy
 from time import clock
 from datetime import datetime
+from urlparse import urlsplit
 
 from resources import ResourceFinder, StringCatalog
 
@@ -617,8 +618,28 @@
                 pass
 
     def set_origin(self, origin):
-        self.origin = origin
+        self.origin = self.fix_origin(origin)
     
+    def fix_origin(self, origin):
+        if origin:
+            try:
+                # clean up refering url
+                url = urlsplit(origin)
+                query = url.query
+                if query:
+                    namevals = query.split(";")
+                    newquery = dict()
+                    for nameval in namevals:
+                        name, value = nameval.split("=", 1)
+                        # remove the parent's origin 
+                        if not name.endswith(".origin"):
+                            newquery[name] = value
+        
+                    origin = ";".join(["%s=%s" % item for item in newquery.iteritems()])
+                    return "?".join([url.path, origin])
+            except:
+                pass
+        
     def get_origin(self):
         return self.origin
     




More information about the rhmessaging-commits mailing list