in src/Microsoft.Extensions.Configuration.AzureAppConfiguration/AzureAppConfigurationProvider.cs [531:572]
public void ProcessPushNotification(PushNotification pushNotification, TimeSpan? maxDelay)
{
if (pushNotification == null)
{
throw new ArgumentNullException(nameof(pushNotification));
}
if (string.IsNullOrEmpty(pushNotification.SyncToken))
{
throw new ArgumentException(
"Sync token is required.",
$"{nameof(pushNotification)}.{nameof(pushNotification.SyncToken)}");
}
if (string.IsNullOrEmpty(pushNotification.EventType))
{
throw new ArgumentException(
"Event type is required.",
$"{nameof(pushNotification)}.{nameof(pushNotification.EventType)}");
}
if (pushNotification.ResourceUri == null)
{
throw new ArgumentException(
"Resource URI is required.",
$"{nameof(pushNotification)}.{nameof(pushNotification.ResourceUri)}");
}
if (_configClientManager.UpdateSyncToken(pushNotification.ResourceUri, pushNotification.SyncToken))
{
if (_requestTracingEnabled && _requestTracingOptions != null)
{
_requestTracingOptions.IsPushRefreshUsed = true;
}
SetDirty(maxDelay);
}
else
{
_logger.LogWarning(LogHelper.BuildPushNotificationUnregisteredEndpointMessage(pushNotification.ResourceUri.ToString()));
}
}