// Token: 0x06000280 RID: 640 RVA: 0x00009514 File Offset: 0x00007714
        public WacDiscoveryResultBase FetchDiscoveryResults()
        {
            OwaServerTraceLogger.AppendToLog(new WacAttachmentLogEvent(string.Format(CultureInfo.InvariantCulture, "Fetching wac discovery data from endPoint {0}", new object[]
            {
                this.wacDiscoveryEndPoint
            })));
            string text = null;
            WacDiscoveryResultBase wacDiscoveryResultBase = null;

            ExEventLog.EventTuple tuple = ClientsEventLogConstants.Tuple_WacDiscoveryDataRetrievalFailure;
            for (int i = 0; i < 3; i++)
            {
                WebRequest webRequest = WebRequest.Create(this.wacDiscoveryEndPoint);
                webRequest.Method = "GET";
                try
                {
                    WebResponse response = webRequest.GetResponse();
                    using (Stream responseStream = response.GetResponseStream())
                    {
                        using (XmlReader xmlReader = XmlReader.Create(responseStream))
                        {
                            if (this.ParseUntilExternalHttpsNetZoneNode(xmlReader))
                            {
                                wacDiscoveryResultBase = new WacDiscoveryResultSuccess();
                                this.ParseNetZoneData(xmlReader, wacDiscoveryResultBase);
                                wacDiscoveryResultBase.MarkInitializationComplete();
                                if (wacDiscoveryResultBase.WacViewableFileTypes.Length != 0)
                                {
                                    text = string.Format(CultureInfo.InvariantCulture, "Successfully retrieved configuration data from {0}. Supported File types: {1}", new object[]
                                    {
                                        this.wacDiscoveryEndPoint,
                                        wacDiscoveryResultBase.GetWacViewableFileTypesDisplayText()
                                    });
                                    OwaServerTraceLogger.AppendToLog(new WacAttachmentLogEvent(text));
                                    tuple = ClientsEventLogConstants.Tuple_WacDiscoveryDataRetrievedSuccessfully;
                                }
                                else
                                {
                                    text = string.Format(CultureInfo.InvariantCulture, "Successfully retrieved configuration data from {0}, but no file types defined", new object[]
                                    {
                                        this.wacDiscoveryEndPoint
                                    });
                                    OwaServerTraceLogger.AppendToLog(new WacAttachmentLogEvent(text));
                                    wacDiscoveryResultBase = new WacDiscoveryResultFailure(new WacDiscoveryFailureException(text));
                                }
                            }
                            else
                            {
                                text = string.Format(CultureInfo.InvariantCulture, "Successfully retrieved configuration data from {0}, but retrieved discovery xml does not contain an external https net zone node", new object[]
                                {
                                    this.wacDiscoveryEndPoint
                                });
                                OwaServerTraceLogger.AppendToLog(new WacAttachmentLogEvent(text));
                                wacDiscoveryResultBase = new WacDiscoveryResultFailure(new WacDiscoveryFailureException(text));
                            }
                        }
                    }
                    break;
                }
                catch (WebException ex)
                {
                    text = string.Format(CultureInfo.InvariantCulture, "Error retrieving wac discovery data from endpoint {0}. Exception was {1}", new object[]
                    {
                        this.wacDiscoveryEndPoint,
                        ex
                    });
                    OwaServerTraceLogger.AppendToLog(new WacAttachmentLogEvent(text));
                    wacDiscoveryResultBase = new WacDiscoveryResultFailure(new WacDiscoveryFailureException(text));
                }
                Thread.Sleep(100);
            }
            OwaDiagnostics.LogEvent(tuple, string.Empty, new object[]
            {
                text
            });
            return(wacDiscoveryResultBase);
        }
 public override bool TryGetEditUrlForFileExtension(string extension, string cultureName, out string url)
 {
     return(WacDiscoveryResultSuccess.TryGetUrlForFileExtension(this.wacEditUrlTemplateMapping, "edit", extension, cultureName, out url));
 }