// default constructor
 public EventGridExtensionConfigProvider(HttpRequestProcessor httpRequestProcessor, ILoggerFactory loggerFactory)
 {
     _converter              = (attr => new EventGridAsyncCollector(new EventGridPublisherClient(new Uri(attr.TopicEndpointUri), new AzureKeyCredential(attr.TopicKeySetting))));
     _httpRequestProcessor   = httpRequestProcessor;
     _loggerFactory          = loggerFactory;
     _diagnosticScopeFactory = new DiagnosticScopeFactory(DiagnosticScopeNamespace, ResourceProviderNamespace, true);
 }
 // for end to end testing
 internal EventGridExtensionConfigProvider(
     Func <EventGridAttribute, IAsyncCollector <object> > converter,
     HttpRequestProcessor httpRequestProcessor,
     ILoggerFactory loggerFactory)
 {
     _converter            = converter;
     _httpRequestProcessor = httpRequestProcessor;
     _loggerFactory        = loggerFactory;
 }
 // for end to end testing
 internal EventGridExtensionConfigProvider(
     Func <EventGridAttribute, IAsyncCollector <object> > converter,
     HttpRequestProcessor httpRequestProcessor,
     ILoggerFactory loggerFactory)
 {
     _converter              = converter;
     _httpRequestProcessor   = httpRequestProcessor;
     _loggerFactory          = loggerFactory;
     _diagnosticScopeFactory = new DiagnosticScopeFactory(DiagnosticScopeNamespace, ResourceProviderNamespace, true);
 }
 // default constructor
 public EventGridExtensionConfigProvider(HttpRequestProcessor httpRequestProcessor, ILoggerFactory loggerFactory)
 {
     _converter            = (attr => new EventGridAsyncCollector(new EventGridPublisherClient(new Uri(attr.TopicEndpointUri), new AzureKeyCredential(attr.TopicKeySetting))));
     _httpRequestProcessor = httpRequestProcessor;
     _loggerFactory        = loggerFactory;
 }