Пример #1
0
 // Token: 0x0600003C RID: 60 RVA: 0x00002F3E File Offset: 0x0000113E
 public static string GetHtmlEncoded(Strings.IDs localizedID)
 {
     return(LocalizedStrings.GetHtmlEncodedInternal(Culture.GetUserCulture().Name, localizedID));
 }
        internal static void ParseProxyLanguagePostBody(Stream bodyStream, out CultureInfo culture, out string timeZoneKeyName, out bool isOptimized, out string destination, out SerializedClientSecurityContext serializedContext)
        {
            ExTraceGlobals.ProxyCallTracer.TraceDebug(0L, "ProxyLanguagePostRequest.ParseProxyLanguagePostBody");
            culture           = null;
            timeZoneKeyName   = string.Empty;
            isOptimized       = false;
            destination       = string.Empty;
            serializedContext = null;
            XmlTextReader xmlTextReader = null;

            try
            {
                xmlTextReader = SafeXmlFactory.CreateSafeXmlTextReader(bodyStream);
                xmlTextReader.WhitespaceHandling = WhitespaceHandling.All;
                if (!xmlTextReader.Read() || XmlNodeType.Element != xmlTextReader.NodeType || StringComparer.OrdinalIgnoreCase.Compare(xmlTextReader.Name, ProxyLanguagePostRequest.rootElementName) != 0)
                {
                    ProxyLanguagePostRequest.ThrowParserException(xmlTextReader, "Missing or invalid root node");
                }
                if (xmlTextReader.MoveToFirstAttribute())
                {
                    do
                    {
                        if (StringComparer.OrdinalIgnoreCase.Compare(xmlTextReader.Name, ProxyLanguagePostRequest.timeZoneKeyNameAttributeName) == 0)
                        {
                            if (DateTimeUtilities.IsValidTimeZoneKeyName(xmlTextReader.Value))
                            {
                                timeZoneKeyName = xmlTextReader.Value;
                                ExTraceGlobals.ProxyDataTracer.TraceDebug <string>(0L, "Found timeZoneKeyName={0}", timeZoneKeyName);
                            }
                            else
                            {
                                ProxyLanguagePostRequest.ThrowParserException(xmlTextReader, "Invalid time zone id");
                            }
                        }
                        else if (StringComparer.OrdinalIgnoreCase.Compare(xmlTextReader.Name, ProxyLanguagePostRequest.localeIdAttributeName) == 0)
                        {
                            int num = -1;
                            if (int.TryParse(xmlTextReader.Value, out num) && Culture.IsSupportedCulture(num))
                            {
                                culture = Culture.GetCultureInfoInstance(num);
                                ExTraceGlobals.ProxyDataTracer.TraceDebug <int>(0L, "Found localeId={0}", num);
                            }
                            else
                            {
                                ProxyLanguagePostRequest.ThrowParserException(xmlTextReader, "Invalid locale id");
                            }
                        }
                        else if (StringComparer.OrdinalIgnoreCase.Compare(xmlTextReader.Name, ProxyLanguagePostRequest.isOptimizedAttributeName) == 0)
                        {
                            int num2 = -1;
                            if (int.TryParse(xmlTextReader.Value, out num2))
                            {
                                isOptimized = (num2 == 1);
                                ExTraceGlobals.ProxyDataTracer.TraceDebug <bool>(0L, "Found isOptimized={0}", isOptimized);
                            }
                            else
                            {
                                ProxyLanguagePostRequest.ThrowParserException(xmlTextReader, "Invalid is-optimized value");
                            }
                        }
                        else if (StringComparer.OrdinalIgnoreCase.Compare(xmlTextReader.Name, ProxyLanguagePostRequest.destinationAttributeName) == 0)
                        {
                            destination = xmlTextReader.Value;
                        }
                        else
                        {
                            ExTraceGlobals.ProxyTracer.TraceDebug(0L, "ProxyLanguagePostRequest.ParseProxyLanguagePostBody - Found invalid attribute, ignoring it.");
                        }
                    }while (xmlTextReader.MoveToNextAttribute());
                }
                ExTraceGlobals.ProxyTracer.TraceDebug(0L, "Deserializing client context...");
                serializedContext = SerializedClientSecurityContext.Deserialize(xmlTextReader);
                if (!xmlTextReader.Read() || XmlNodeType.EndElement != xmlTextReader.NodeType || StringComparer.OrdinalIgnoreCase.Compare(xmlTextReader.Name, ProxyLanguagePostRequest.rootElementName) != 0)
                {
                    ProxyLanguagePostRequest.ThrowParserException(xmlTextReader, "Missing or invalid root node");
                }
            }
            catch (XmlException ex)
            {
                ProxyLanguagePostRequest.ThrowParserException(xmlTextReader, string.Format("Parser threw an XML exception: {0}", ex.Message));
            }
            finally
            {
                xmlTextReader.Close();
            }
        }