@@ -45,18 +45,17 @@ def do_POST(self):
4545 req .args = args [1 :]
4646 req .filter = _item_by_key_postfix (headers , 'ObjectFilter' ) or None
4747 req .mask = _item_by_key_postfix (headers , 'ObjectMask' ).get ('mask' )
48- req .identifier = _item_by_key_postfix (headers ,
49- 'InitParameters' ).get ('id' )
50- req .transport_headers = dict (((k .lower (), v )
51- for k , v in self .headers .items ()))
48+ req .identifier = _item_by_key_postfix (headers , 'InitParameters' ).get ('id' )
49+ req .transport_headers = dict (((k .lower (), v ) for k , v in self .headers .items ()))
5250 req .headers = headers
5351
5452 # Get response
5553 response = self .server .transport (req )
5654
57- response_body = xmlrpc .client .dumps ((response ,),
58- allow_none = True ,
59- methodresponse = True )
55+ # Need to convert BACK to list, so xmlrpc can dump it out properly.
56+ if isinstance (response , SoftLayer .transports .transport .SoftLayerListResult ):
57+ response = list (response )
58+ response_body = xmlrpc .client .dumps ((response ,), allow_none = True , methodresponse = True )
6059
6160 self .send_response (200 )
6261 self .send_header ("Content-type" , "application/xml; charset=UTF-8" )
@@ -70,18 +69,14 @@ def do_POST(self):
7069 self .send_response (200 )
7170 self .end_headers ()
7271 response = xmlrpc .client .Fault (404 , str (ex ))
73- response_body = xmlrpc .client .dumps (response ,
74- allow_none = True ,
75- methodresponse = True )
72+ response_body = xmlrpc .client .dumps (response , allow_none = True , methodresponse = True )
7673 self .wfile .write (response_body .encode ('utf-8' ))
7774
7875 except SoftLayer .SoftLayerAPIError as ex :
7976 self .send_response (200 )
8077 self .end_headers ()
8178 response = xmlrpc .client .Fault (ex .faultCode , str (ex .reason ))
82- response_body = xmlrpc .client .dumps (response ,
83- allow_none = True ,
84- methodresponse = True )
79+ response_body = xmlrpc .client .dumps (response , allow_none = True , methodresponse = True )
8580 self .wfile .write (response_body .encode ('utf-8' ))
8681 except Exception :
8782 self .send_response (500 )
@@ -103,7 +98,6 @@ def _item_by_key_postfix(dictionary, key_prefix):
10398def create_test_server (transport , host = 'localhost' , port = 0 ):
10499 """Create a test XML-RPC server in a new thread."""
105100 server = TestServer (transport , (host , port ), TestHandler )
106- thread = threading .Thread (target = server .serve_forever ,
107- kwargs = {'poll_interval' : 0.01 })
101+ thread = threading .Thread (target = server .serve_forever , kwargs = {'poll_interval' : 0.01 })
108102 thread .start ()
109103 return server
0 commit comments