Esempio n. 1
0
        /// <summary>
        /// Make a CallOptions object with the specified access token for passing to the Ledger API for authentication.
        /// If the access token is null or empty then a null(able) is returned
        /// </summary>
        /// <param name="accessToken"></param>
        /// <returns>A CallOptions object or null</returns>
        public static CallOptions?MakeCallOptions(string accessToken)
        {
            if (string.IsNullOrEmpty(accessToken))
            {
                return(null);
            }

            return(new CallOptions().WithCredentials(LedgerCallCredentials.MakeCallCredentials(accessToken)));
        }
Esempio n. 2
0
        /// <summary>
        /// Construct with an optional access token to be specified on every call to the client class
        /// </summary>
        /// <param name="client">The grpc client class</param>
        /// <param name="accessToken">An optional access token</param>
        public ClientStub(TClient client, string accessToken = null)
        {
            _client      = client;
            _callOptions = new CallOptions();

            if (!string.IsNullOrEmpty(accessToken))
            {
                _accessTokens = new HashSet <string>(new[] { accessToken });
                _callOptions  = _callOptions.WithCredentials(LedgerCallCredentials.MakeCallCredentials(accessToken));
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Make a CallOptions object with the specified access tokens for passing to the Ledger API for authentication.
        /// If there are no non-null/non-empty access tokens then a null(able) is returned
        /// </summary>
        /// <param name="accessTokens"></param>
        /// <returns>A CallOptions object or null</returns>
        public static CallOptions?MakeCallOptions(IEnumerable <string> accessTokens)
        {
            var tokens = accessTokens.Where(t => !string.IsNullOrEmpty(t)).Distinct().Select(t => t).ToList();

            if (tokens.Count == 0)
            {
                return(null);
            }

            return(new CallOptions().WithCredentials(LedgerCallCredentials.MakeCallCredentials(tokens)));
        }
Esempio n. 4
0
 /// <summary>
 /// A copy constructor for building a new object with an extra access token
 /// </summary>
 /// <param name="client"></param>
 /// <param name="accessTokens"></param>
 private ClientStub(TClient client, HashSet <string> accessTokens)
 {
     _client       = client;
     _accessTokens = accessTokens;
     _callOptions  = _callOptions.WithCredentials(LedgerCallCredentials.MakeCallCredentials(_accessTokens));
 }