/// <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))); }
/// <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)); } }
/// <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))); }
/// <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)); }