Пример #1
0
        internal static HttpClient HttpClientFromConfiguration(RestExecutorConfiguration configuration)
        {
            if (configuration == null)
            {
                return(null);
            }
            if (configuration.DelegatingHandler == null)
            {
                return(BuildHttpClient(StorageAuthenticationHttpHandler.Instance, configuration.HttpClientTimeout));
            }
            DelegatingHandler delegatingHandler  = configuration.DelegatingHandler;
            DelegatingHandler delegatingHandler2 = delegatingHandler;

            while (delegatingHandler2.InnerHandler != null)
            {
                DelegatingHandler obj = delegatingHandler2.InnerHandler as DelegatingHandler;
                if (obj == null)
                {
                    throw new ArgumentException("Innermost DelegatingHandler must have a null InnerHandler.");
                }
                delegatingHandler2 = obj;
            }
            delegatingHandler2.InnerHandler = new StorageAuthenticationHttpHandler();
            return(BuildHttpClient(delegatingHandler, configuration.HttpClientTimeout));
        }
        public FunctionInstanceLogger(
            IFunctionMetadataManager metadataManager,
            IMetricsLogger metrics,
            IHostIdProvider hostIdProvider,
            IConfiguration configuration,
            ILoggerFactory loggerFactory,
            IDelegatingHandlerProvider delegatingHandlerProvider)
            : this(metadataManager, metrics)
        {
            if (hostIdProvider == null)
            {
                throw new ArgumentNullException(nameof(hostIdProvider));
            }

            if (configuration == null)
            {
                throw new ArgumentNullException(nameof(configuration));
            }

            if (loggerFactory == null)
            {
                throw new ArgumentNullException(nameof(loggerFactory));
            }

            if (delegatingHandlerProvider == null)
            {
                throw new ArgumentNullException(nameof(delegatingHandlerProvider));
            }

            string accountConnectionString = configuration.GetWebJobsConnectionString(ConnectionStringNames.Dashboard);

            if (accountConnectionString != null)
            {
                CloudStorageAccount account = CloudStorageAccount.Parse(accountConnectionString);
                var restConfig = new RestExecutorConfiguration {
                    DelegatingHandler = delegatingHandlerProvider.Create()
                };
                var tableClientConfig = new TableClientConfiguration {
                    RestExecutorConfiguration = restConfig
                };

                var client        = new CloudTableClient(account.TableStorageUri, account.Credentials, tableClientConfig);
                var tableProvider = LogFactory.NewLogTableProvider(client);

                ILogger logger = loggerFactory.CreateLogger(ScriptConstants.LogCategoryHostGeneral);

                string hostId        = hostIdProvider.GetHostIdAsync(CancellationToken.None).GetAwaiter().GetResult() ?? "default";
                string containerName = Environment.MachineName;
                _writer = LogFactory.NewWriter(hostId, containerName, tableProvider, (e) => OnException(e, logger));
            }
        }
 public TableClientConfiguration()
 {
     CosmosExecutorConfiguration = new CosmosExecutorConfiguration();
     RestExecutorConfiguration   = new RestExecutorConfiguration();
 }