def __init__(self,tenant_index=0,tenant_name=None): self.tenant_index = int(tenant_index) self.tenant_name = "default" if tenant_name: self.tenant_name = tenant_name self.cert_file = '/etc/smithproxy/certs/default/srv-cert.pem' self.key_file = '/etc/smithproxy/certs/default/srv-key.pem' self.context = SSL.Context() self.context.load_cert(self.cert_file,keyfile=self.key_file) self.service_port = 65000 + self.tenant_index self.bend_port = 64000 + self.tenant_index self.l_server = SOAPpy.ThreadingSOAPServer(("0.0.0.0", self.service_port),ssl_context = self.context) self.r_server = SOAPpy.SOAPProxy("http://localhost:%d/" % (self.bend_port,)) self.l_server.registerFunction( SOAPpy.MethodSig(self.ping, keywords=0, context=1) ) self.l_server.registerFunction( SOAPpy.MethodSig(self.whoami, keywords=0, context=1) ) self.l_server.registerFunction( SOAPpy.MethodSig(self.authenticate, keywords=0, context=1) ) self.l_server.registerFunction( SOAPpy.MethodSig(self.admin_login, keywords=0, context=1) ) self.l_server.registerFunction( SOAPpy.MethodSig(self.admin_token_list, keywords=0, context=1) ) self.l_server.registerFunction( SOAPpy.MethodSig(self.admin_keepalive, keywords=0, context=1) ) self.l_server.registerFunction( SOAPpy.MethodSig(self.admin_logout, keywords=0, context=1) ) self.create_logger() self.load_config()
def list_rockets(): #return repr([rockets.index(x) for x in rockets if x]) global rockets return repr(rockets.keys()) def server_reset(): global rockets rockets = {} print "Server Reset!" if __name__ == "__main__": ip = "127.0.0.1" port = 51285 if len(sys.argv) > 1: ip = sys.argv[1] if len(sys.argv) > 2: port = int(sys.argv[2]) server = SOAPpy.ThreadingSOAPServer((ip, port)) server.registerFunction(register) server.registerFunction(unregister) server.registerFunction(command) server.registerFunction(num_rockets) server.registerFunction(get_command) server.registerFunction(server_reset) server.registerFunction(list_rockets) server.serve_forever()
def prepare(self, tenant_name="default", tenant_index=0, clear_shm=None): super(AuthManager, self).prepare(tenant_name, tenant_index, clear_shm) self.server = SOAPpy.ThreadingSOAPServer(("localhost", self.bend_port))