protected SharedAccessSignatureTokenProvider()

in src/Microsoft.Azure.Relay/Common/SharedAccessSignatureTokenProvider.cs [36:63]


        protected SharedAccessSignatureTokenProvider(string keyName, string sharedAccessKey, Func<string, byte[]> customKeyEncoder)
        {
            if (string.IsNullOrEmpty(keyName) || string.IsNullOrEmpty(sharedAccessKey))
            {
                throw RelayEventSource.Log.ArgumentNull(string.IsNullOrEmpty(keyName) ? nameof(keyName) : nameof(sharedAccessKey));
            }

            if (keyName.Length > SharedAccessSignatureToken.MaxKeyNameLength)
            {
                throw RelayEventSource.Log.ArgumentOutOfRange(
                    nameof(keyName),
                    keyName.Substring(0, 10) + "...",
                    SR.GetString(SR.ArgumentStringTooBig, nameof(keyName), SharedAccessSignatureToken.MaxKeyNameLength));
            }

            if (sharedAccessKey.Length > SharedAccessSignatureToken.MaxKeyLength)
            {
                throw RelayEventSource.Log.ArgumentOutOfRange(
                    nameof(sharedAccessKey),
                    sharedAccessKey.Substring(0, 10) + "...",
                    SR.GetString(SR.ArgumentStringTooBig, nameof(sharedAccessKey), SharedAccessSignatureToken.MaxKeyLength));
            }

            this.keyName = keyName;
            this.encodedSharedAccessKey = customKeyEncoder != null ?
                customKeyEncoder(sharedAccessKey) :
                MessagingTokenProviderKeyEncoder(sharedAccessKey);
        }