protected override AnchorMailbox ResolveAnchorMailbox()
        {
            AnonymousPublishingUrl anonymousPublishingUrl = new AnonymousPublishingUrl(base.ClientRequest.Url);

            if (anonymousPublishingUrl.ParameterSegments.Length > 0)
            {
                string text  = anonymousPublishingUrl.ParameterSegments[0];
                Match  match = RegexUtilities.TryMatch(Constants.GuidAtDomainRegex, text, base.Logger);
                if (match != null && match.Success)
                {
                    Guid   mailboxGuid = new Guid(match.Result("${mailboxguid}"));
                    string text2       = match.Result("${domain}");
                    string value       = string.Format("AnonymousPublishingUrl-MailboxGuid{0}", string.IsNullOrEmpty(text2) ? string.Empty : "WithDomainAndSmtpFallback");
                    base.Logger.Set(HttpProxyMetadata.RoutingHint, value);
                    MailboxGuidAnchorMailbox mailboxGuidAnchorMailbox = new MailboxGuidAnchorMailbox(mailboxGuid, text2, this);
                    if (!string.IsNullOrEmpty(text2))
                    {
                        mailboxGuidAnchorMailbox.FallbackSmtp = text;
                    }
                    return(mailboxGuidAnchorMailbox);
                }
                match = RegexUtilities.TryMatch(Constants.AddressRegex, text, base.Logger);
                if (match != null && match.Success)
                {
                    string text3 = match.Result("${address}");
                    if (!string.IsNullOrEmpty(text3) && SmtpAddress.IsValidSmtpAddress(text3))
                    {
                        base.Logger.Set(HttpProxyMetadata.RoutingHint, "AnonymousPublishingUrl-SMTP");
                        return(new SmtpAnchorMailbox(text3, this));
                    }
                }
            }
            return(base.ResolveAnchorMailbox());
        }
        // Token: 0x0600049D RID: 1181 RVA: 0x000197C4 File Offset: 0x000179C4
        private bool TryMatchBySmtpAddress(AnonymousPublishingUrl publishingUrl, out AnchorMailbox anchorMailbox)
        {
            anchorMailbox = null;
            string text = publishingUrl.ParameterSegments[0];

            if (!string.IsNullOrEmpty(text) && SmtpAddress.IsValidSmtpAddress(text))
            {
                base.Logger.Set(3, "AnonymousPublishingUrl-SMTP");
                anchorMailbox = new SmtpAnchorMailbox(text, this);
            }
            return(anchorMailbox != null);
        }
        // Token: 0x0600049C RID: 1180 RVA: 0x0001973C File Offset: 0x0001793C
        private bool TryMatchByGuidAtDomain(AnonymousPublishingUrl publishingUrl, out AnchorMailbox anchorMailbox)
        {
            anchorMailbox = null;
            string text   = publishingUrl.ParameterSegments[0];
            Guid   empty  = Guid.Empty;
            string empty2 = string.Empty;

            if (RequestHeaderParser.TryGetMailboxGuid(text, ref empty, ref empty2))
            {
                string text2 = string.Format("AnonymousPublishingUrl-MailboxGuid{0}", string.IsNullOrEmpty(empty2) ? string.Empty : "WithDomainAndSmtpFallback");
                base.Logger.Set(3, text2);
                MailboxGuidAnchorMailbox mailboxGuidAnchorMailbox = new MailboxGuidAnchorMailbox(empty, empty2, this);
                if (!string.IsNullOrEmpty(empty2))
                {
                    mailboxGuidAnchorMailbox.FallbackSmtp = text;
                }
                anchorMailbox = mailboxGuidAnchorMailbox;
            }
            return(anchorMailbox != null);
        }
        // Token: 0x0600049A RID: 1178 RVA: 0x0001969C File Offset: 0x0001789C
        protected override AnchorMailbox ResolveAnchorMailbox()
        {
            AnonymousPublishingUrl anonymousPublishingUrl = new AnonymousPublishingUrl(base.ClientRequest.Url);

            if (anonymousPublishingUrl.ParameterSegments.Length != 0)
            {
                AnchorMailbox result;
                if (anonymousPublishingUrl.ParameterSegments.Length > 2 && this.TryMatchByCid(anonymousPublishingUrl.Url.LocalPath.ToString(), out result))
                {
                    return(result);
                }
                if (this.TryMatchByGuidAtDomain(anonymousPublishingUrl, out result))
                {
                    return(result);
                }
                if (this.TryMatchBySmtpAddress(anonymousPublishingUrl, out result))
                {
                    return(result);
                }
            }
            return(base.ResolveAnchorMailbox());
        }
 // Token: 0x06000498 RID: 1176 RVA: 0x00019679 File Offset: 0x00017879
 internal static bool IsAnonymousCalendarRequest(HttpRequest request)
 {
     return(AnonymousPublishingUrl.IsValidAnonymousPublishingUrl(request.Url));
 }