storage:http: add agent argument to get_post_url.
authorW. Trevor King <wking@tremily.us>
Fri, 24 Aug 2012 11:22:39 +0000 (07:22 -0400)
committerW. Trevor King <wking@tremily.us>
Fri, 24 Aug 2012 11:24:10 +0000 (07:24 -0400)
This allows us to set an appropriate user agent if we use this
function in other places (e.g. upcoming Command._run_remote).

libbe/storage/http.py

index 877fc96a389bc3e4f91ca3639fb695c7c3f2c2fc..cfed7b71282926caac7f9dbef33e665d41929bff 100644 (file)
@@ -79,7 +79,7 @@ class InvalidURL (Exception):
             return self.error.__str__()
         return self.msg
 
-def get_post_url(url, get=True, data_dict=None, headers=[]):
+def get_post_url(url, get=True, data_dict=None, headers=[], agent=None):
     """Execute a GET or POST transaction.
 
     Parameters
@@ -95,6 +95,8 @@ def get_post_url(url, get=True, data_dict=None, headers=[]):
     """
     if data_dict == None:
         data_dict = {}
+    if agent is None:
+        agent = USER_AGENT
     if get == True:
         if data_dict != {}:
             # encode get parameters in the url
@@ -104,7 +106,7 @@ def get_post_url(url, get=True, data_dict=None, headers=[]):
     else:
         data = urllib.urlencode(data_dict)
     headers = dict(headers)
-    headers['User-Agent'] = USER_AGENT
+    headers['User-Agent'] = agent
     req = urllib2.Request(url, data=data, headers=headers)
     try:
         response = urllib2.urlopen(req)