internal static string[] GetHostSuffixes(IServiceEntrySink sink, string hostSuffixesConfigParamName) { string configurationParameter = sink.GetConfigurationParameter(hostSuffixesConfigParamName); if (configurationParameter == null) { return(null); } return(configurationParameter.Split(ConfigurationHelper.HostSuffixesSeparator, StringSplitOptions.RemoveEmptyEntries)); }
public static T GetConfigSetting <T>(IServiceEntrySink serviceEntrySink, string configParam, string configDescription) { string configurationParameter = serviceEntrySink.GetConfigurationParameter(configParam); if (configurationParameter == null) { throw new ArgumentNullException(string.Concat("The value for service model config parameter named ", configParam, " is missing. Check the config files.")); } IStringDataEventStream infoDebug = Logger <IRestProtocolHeadLogger> .Instance.InfoDebug; object[] objArray = new object[] { configParam, configDescription, configurationParameter }; infoDebug.Log("Loading config Param {0} ({1}) read: {2}", objArray); if (typeof(T) == typeof(string)) { return((T)configurationParameter); } Type type = typeof(T); Type[] typeArray = new Type[] { typeof(string), type.MakeByRefType() }; MethodInfo method = type.GetMethod("TryParse", typeArray); if (method == null) { throw new ArgumentException("The passed in type parameter doesn't contain TryParse", "T"); } object[] objArray1 = new object[] { configurationParameter, null }; if (!(bool)method.Invoke(null, objArray1)) { CultureInfo invariantCulture = CultureInfo.InvariantCulture; object[] objArray2 = new object[] { configParam }; throw new ArgumentException(string.Format(invariantCulture, "Failed to convert {0} configuration option to a proper type", objArray2)); } T t = (T)objArray1[1]; IStringDataEventStream stringDataEventStream = Logger <IRestProtocolHeadLogger> .Instance.InfoDebug; object[] objArray3 = new object[] { configParam, t }; stringDataEventStream.Log("Successfully loaded {0}: {1}", objArray3); return(t); }
public static HttpProcessorConfiguration LoadDefaultStampAccountFEHttpProcessorConfiguration(IServiceEntrySink sink, string hostSuffixesConfigParamName) { HttpProcessorConfiguration httpProcessorConfiguration = new HttpProcessorConfiguration(); string[] hostSuffixes = ConfigurationHelper.GetHostSuffixes(sink, hostSuffixesConfigParamName); httpProcessorConfiguration.ValidHostSuffixes = (hostSuffixes != null ? hostSuffixes : new string[0]); string configurationParameter = sink.GetConfigurationParameter("NephosAllowPathStyleUris"); bool flag = false; if (string.IsNullOrEmpty(configurationParameter)) { Logger <IRestProtocolHeadLogger> .Instance.Critical.Log("{0} setting was not found for role", new object[] { "NephosAllowPathStyleUris" }); } else if (!bool.TryParse(configurationParameter, out flag)) { Logger <IRestProtocolHeadLogger> .Instance.Critical.Log("{0} setting with value {1} is not a boolean", new object[] { "NephosAllowPathStyleUris", configurationParameter }); } httpProcessorConfiguration.AllowPathStyleUris = flag; httpProcessorConfiguration.IncludeInternalDetailsInErrorResponses = ConfigurationHelper.GetConfigSetting <bool>(sink, "NephosIncludeInternalDetailsInErrorResponses", "Include internal details in error responses"); httpProcessorConfiguration.MaskClientIPAddressesInLog = false; HttpProcessorConfiguration.DefaultHttpProcessorConfiguration = httpProcessorConfiguration; return(httpProcessorConfiguration); }