/******************************************************************************* * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * Licensed under the Apache License, Version 2.0 (the "License"). You may not use * this file except in compliance with the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. * This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the * specific language governing permissions and limitations under the License. * ***************************************************************************** * __ _ _ ___ * ( )( \/\/ )/ __) * /__\ \ / \__ \ * (_)(_) \/\/ (___/ * * AWS SDK for .NET * */ using Amazon.Runtime; using System; using System.Collections.Generic; using Amazon.Util.Internal; namespace Amazon.Util { #region Basic sections /// /// Settings for configuring a proxy for the SDK to use. /// public partial class ProxyConfig { internal void Configure(ProxySection section) { if (section.ElementInformation.IsPresent) { Host = section.Host; Port = section.Port; Username = section.Username; Password = section.Password; BypassList = new List(section.BypassList); BypassOnLocal = section.BypassOnLocal.GetValueOrDefault(); } } } /// /// Settings for logging in the SDK. /// public partial class LoggingConfig { internal void Configure(LoggingSection section) { if (section.ElementInformation.IsPresent) { LogTo = section.LogTo; LogResponses = section.LogResponses; LogResponsesSizeLimit = section.LogResponsesSizeLimit ?? LoggingConfig.DefaultLogResponsesSizeLimit; LogMetrics = section.LogMetrics.GetValueOrDefault(false); LogMetricsFormat = section.LogMetricsFormat; if (section.LogMetricsCustomFormatter != null && typeof(IMetricsFormatter).IsAssignableFrom(section.LogMetricsCustomFormatter)) { LogMetricsCustomFormatter = Activator.CreateInstance(section.LogMetricsCustomFormatter) as IMetricsFormatter; } } } } /// /// Settings for configuring CSM in the SDK. /// public partial class CSMConfig { internal void Configure(CSMSection section) { if (section.ElementInformation.IsPresent) { CSMEnabled = section.CSMEnabled; CSMClientId = section.CSMClientId; if (section.CSMPort.HasValue) { CSMPort = section.CSMPort.GetValueOrDefault(); } } } } #endregion }