示例#1
0
        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));
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }