X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Fserver%2Fthreadedserver.py;fp=sfa%2Fserver%2Fthreadedserver.py;h=dbdde3f2f7d02bed12b2e0f58c180c6897d5f54d;hb=96fe7aa30534062ef30bfb4bbe30adc6fafbfda6;hp=9332c5b3cd32b279c423da7d406a0db971994067;hpb=b3239c6f02719812f769b0f673f0108f72399e75;p=sfa.git diff --git a/sfa/server/threadedserver.py b/sfa/server/threadedserver.py index 9332c5b3..dbdde3f2 100644 --- a/sfa/server/threadedserver.py +++ b/sfa/server/threadedserver.py @@ -127,17 +127,18 @@ class SecureXMLRpcRequestHandler(SimpleXMLRPCServer.SimpleXMLRPCRequestHandler): #self.send_response(500) #self.end_headers() - # got a valid response - self.send_response(200) - self.send_header("Content-type", "text/xml") - self.send_header("Content-length", str(len(response))) - self.end_headers() - self.wfile.write(response) - self.wfile.flush() - # close db connection - self.api.close_dbsession() - # shut down the connection - self.connection.shutdown() # Modified here! + # avoid session/connection leaks : do this no matter what + finally: + self.send_response(200) + self.send_header("Content-type", "text/xml") + self.send_header("Content-length", str(len(response))) + self.end_headers() + self.wfile.write(response) + self.wfile.flush() + # close db connection + self.api.close_dbsession() + # shut down the connection + self.connection.shutdown() # Modified here! ## # Taken from the web (XXX find reference). Implements an HTTPS xmlrpc server