def processConsentToken(token, context=nil)
if token.nil? or token.empty?
debug("Error: processConsentToken: Null token.")
return
end
decodedtoken = token
parsedtoken = parse(CGI.unescape(decodedtoken))
unless parsedtoken
debug("Error: processConsentToken: Failed to parse token: #{token}")
return
end
eact = parsedtoken['eact']
if eact
decodedtoken = decodeAndValidateToken eact
unless decodedtoken
debug("Error: processConsentToken: Failed to decode/validate token: #{token}")
return
end
parsedtoken = parse(decodedtoken)
decodedtoken = CGI.escape(decodedtoken)
end
begin
consenttoken = ConsentToken.new(self,
parsedtoken['delt'],
parsedtoken['reft'],
parsedtoken['skey'],
parsedtoken['exp'],
parsedtoken['offer'],
parsedtoken['lid'],
context, decodedtoken, token)
return consenttoken
rescue Exception => e
debug("Error: processConsentToken: Contents of token considered invalid: #{e}")
return
end
end