first stab at a design where each incoming API call has its own dbsession
[sfa.git] / sfa / server / threadedserver.py
index 1a78f35..9332c5b 100644 (file)
@@ -73,6 +73,10 @@ def verify_callback(conn, x509, err, depth, preverify):
        #print "  X509_V_ERR_CERT_UNTRUSTED"
        return 1
 
+    # ignore X509_V_ERR_CERT_SIGNATURE_FAILURE
+    if err == 7:
+       return 1         
+
     logger.debug("  error %s in verify_callback"%err)
 
     return 0
@@ -129,9 +133,10 @@ class SecureXMLRpcRequestHandler(SimpleXMLRPCServer.SimpleXMLRPCRequestHandler):
         self.send_header("Content-length", str(len(response)))
         self.end_headers()
         self.wfile.write(response)
-
-        # shut down the connection
         self.wfile.flush()
+        # close db connection
+        self.api.close_dbsession()
+        # shut down the connection
         self.connection.shutdown() # Modified here!
 
 ##
@@ -143,7 +148,7 @@ class SecureXMLRPCServer(BaseHTTPServer.HTTPServer,SimpleXMLRPCServer.SimpleXMLR
 
         It it very similar to SimpleXMLRPCServer but it uses HTTPS for transporting XML data.
         """
-        logger.debug("SecureXMLRPCServer.__init__, server_address=%s, cert_file=%s"%(server_address,cert_file))
+        logger.debug("SecureXMLRPCServer.__init__, server_address=%s, cert_file=%s, key_file=%s"%(server_address,cert_file,key_file))
         self.logRequests = logRequests
         self.interface = None
         self.key_file = key_file