From: Tony Mack Date: Thu, 31 Dec 2009 00:48:39 +0000 (+0000) Subject: get caller's hrn from the credentials gid_origin_caller object X-Git-Tag: sfa-0.9-7~50 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=688058055131d955f454761b409836813e010b15;p=sfa.git get caller's hrn from the credentials gid_origin_caller object --- diff --git a/sfa/methods/resolve.py b/sfa/methods/resolve.py index 4a5f560e..f9440391 100644 --- a/sfa/methods/resolve.py +++ b/sfa/methods/resolve.py @@ -32,19 +32,14 @@ class resolve(Method): returns = [GeniRecord] - def call(self, cred, hrn, request_hash=None, origin_hrn=None): + def call(self, cred, hrn, request_hash=None): self.api.auth.authenticateCred(cred, [cred, hrn], request_hash) self.api.auth.check(cred, 'resolve') - if origin_hrn==None: - origin_hrn=Credential(string=cred).get_gid_caller().get_hrn() - - #log the call - self.api.logger.info("interface: %s\tcaller-hrn: %s\ttarget-hrn: %s\tmethod-name: %s"%(self.api.interface, origin_hrn, hrn, self.name)) - good_records = [] # load all know registry names into a prefix tree and attempt to find # the longest matching prefix + good_records = [] registries = Registries(self.api) hrns = registries.keys() tree = prefixTree() @@ -59,14 +54,15 @@ class resolve(Method): # forward the request if registry_hrn != self.api.hrn: credential = self.api.getCredential() + credential.set_gid_origin_caller(gid_origin_caller) try: - request_hash=None - records = registries[registry_hrn].resolve(credential, hrn, request_hash, origin_hrn) + request_hash=None + records = registries[registry_hrn].resolve(credential, hrn, request_hash) good_records = [GeniRecord(dict=record).as_dict() for record in records] except: arg_list = [credential, hrn] request_hash=self.api.key.compute_hash(arg_list) - records = registries[registry_hrn].resolve(credential, hrn, request_hash, origin_hrn) + records = registries[registry_hrn].resolve(credential, hrn, request_hash) good_records = [GeniRecord(dict=record).as_dict() for record in records] if good_records: