You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by pq...@apache.org on 2010/03/24 06:59:31 UTC
svn commit: r926943 - /incubator/libcloud/trunk/libcloud/drivers/softlayer.py
Author: pquerna
Date: Wed Mar 24 05:59:31 2010
New Revision: 926943
URL: http://svn.apache.org/viewvc?rev=926943&view=rev
Log:
Better handle http/https switching of the api prefix
Modified:
incubator/libcloud/trunk/libcloud/drivers/softlayer.py
Modified: incubator/libcloud/trunk/libcloud/drivers/softlayer.py
URL: http://svn.apache.org/viewvc/incubator/libcloud/trunk/libcloud/drivers/softlayer.py?rev=926943&r1=926942&r2=926943&view=diff
==============================================================================
--- incubator/libcloud/trunk/libcloud/drivers/softlayer.py (original)
+++ incubator/libcloud/trunk/libcloud/drivers/softlayer.py Wed Mar 24 05:59:31 2010
@@ -23,6 +23,7 @@ from libcloud.types import Provider, Inv
from libcloud.base import NodeDriver, Node, NodeLocation
API_PREFIX = "http://api.service.softlayer.com/xmlrpc/v3"
+API_PREFIX = "https://slprxy0.cloudkick.com/xmlrpc/v3"
DATACENTERS = {
'sea01': {'country': 'US'},
@@ -33,17 +34,23 @@ DATACENTERS = {
class SoftLayerException(Exception):
pass
-class SoftLayerTransport(xmlrpclib.SafeTransport):
+class SoftLayerSafeTransport(xmlrpclib.SafeTransport):
+ user_agent = "libcloud/%s (SoftLayer)" % libcloud.__version__
+
+class SoftLayerTransport(xmlrpclib.Transport):
user_agent = "libcloud/%s (SoftLayer)" % libcloud.__version__
class SoftLayerProxy(xmlrpclib.ServerProxy):
- transportCls = SoftLayerTransport
+ transportCls = (SoftLayerTransport, SoftLayerSafeTransport)
def __init__(self, service, verbose=0):
+ cls = self.transportCls[0]
+ if API_PREFIX[:8] == "https://":
+ cls = self.transportCls[1]
xmlrpclib.ServerProxy.__init__(
self,
uri="%s/%s" % (API_PREFIX, service),
- transport=self.transportCls(use_datetime=0),
+ transport=cls(use_datetime=0),
verbose=verbose
)