in src/Microsoft.Azure.NotificationHubs/Messaging/SharedAccessAuthorizationRule.cs [75:113]
protected override void OnValidate()
{
if (string.IsNullOrEmpty(this.InternalKeyName) || !string.Equals(this.InternalKeyName, Auth.SharedAccessSignatureBuilder.UrlEncode(this.InternalKeyName)))
{
throw new InvalidDataContractException(SRCore.SharedAccessAuthorizationRuleKeyContainsInvalidCharacters);
}
if (this.InternalKeyName.Length > 256)
{
throw new InvalidDataContractException(SRCore.SharedAccessAuthorizationRuleKeyNameTooBig((object)256));
}
if (string.IsNullOrEmpty(this.InternalPrimaryKey))
{
throw new InvalidDataContractException(SRCore.SharedAccessAuthorizationRuleRequiresPrimaryKey);
}
if (Encoding.ASCII.GetByteCount(this.InternalPrimaryKey) != 44)
{
throw new InvalidDataContractException(SRCore.SharedAccessRuleAllowsFixedLengthKeys((object)44));
}
if (!SharedAccessAuthorizationRule.CheckBase64(this.InternalPrimaryKey))
{
throw new InvalidDataContractException(SRCore.SharedAccessKeyShouldbeBase64);
}
if (!string.IsNullOrEmpty(this.InternalSecondaryKey))
{
if (Encoding.ASCII.GetByteCount(this.InternalSecondaryKey) != 44)
throw new InvalidDataContractException(SRCore.SharedAccessRuleAllowsFixedLengthKeys((object)44));
if (!SharedAccessAuthorizationRule.CheckBase64(this.InternalSecondaryKey))
throw new InvalidDataContractException(SRCore.SharedAccessKeyShouldbeBase64);
}
if (!SharedAccessAuthorizationRule.IsValidCombinationOfRights(this.Rights))
{
throw new InvalidDataContractException(SRClient.InvalidCombinationOfManageRight);
}
}