Ejemplo n.º 1
0
        protected override AnchorMailbox ResolveAnchorMailbox()
        {
            string text = base.ClientRequest.Headers[Constants.PreferServerAffinityHeader];

            if (!string.IsNullOrEmpty(text) && text.Equals(bool.TrueString, StringComparison.OrdinalIgnoreCase))
            {
                HttpCookie httpCookie = base.ClientRequest.Cookies[Constants.BackEndOverrideCookieName];
                string     text2      = (httpCookie == null) ? null : httpCookie.Value;
                if (!string.IsNullOrEmpty(text2))
                {
                    try
                    {
                        BackEndServer backendServer = BackEndServer.FromString(text2);
                        base.Logger.Set(HttpProxyMetadata.RoutingHint, Constants.BackEndOverrideCookieName);
                        return(new ServerInfoAnchorMailbox(backendServer, this));
                    }
                    catch (ArgumentException arg)
                    {
                        base.Logger.AppendGenericError("Unable to parse TargetServer: {0}", text2);
                        ExTraceGlobals.ExceptionTracer.TraceDebug <string, ArgumentException>((long)this.GetHashCode(), "[EwsProxyRequestHandler::ResolveAnchorMailbox]: exception hit where target server was '{0}': {1}", text2, arg);
                    }
                }
            }
            return(base.ResolveAnchorMailbox());
        }
Ejemplo n.º 2
0
        protected override AnchorMailbox ResolveAnchorMailbox()
        {
            string beresouceCookie = BEResourceRequestHandler.GetBEResouceCookie(base.ClientRequest);

            if (!string.IsNullOrEmpty(beresouceCookie))
            {
                base.Logger.Set(HttpProxyMetadata.RoutingHint, Constants.BEResource + "-Cookie");
                ExTraceGlobals.VerboseTracer.TraceDebug <string, int>((long)this.GetHashCode(), "[BEResourceRequestHanlder::ResolveAnchorMailbox]: BEResource cookie used: {0}; context {1}.", beresouceCookie, base.TraceContext);
                return(new ServerInfoAnchorMailbox(BackEndServer.FromString(beresouceCookie), this));
            }
            return(base.ResolveAnchorMailbox());
        }
        protected override AnchorMailbox ResolveAnchorMailbox()
        {
            HttpCookie httpCookie = base.ClientRequest.Cookies[Constants.AnonResourceBackend];

            if (httpCookie != null)
            {
                this.savedBackendServer = httpCookie.Value;
            }
            if (!string.IsNullOrEmpty(this.savedBackendServer))
            {
                base.Logger.Set(HttpProxyMetadata.RoutingHint, Constants.AnonResourceBackend + "-Cookie");
                ExTraceGlobals.VerboseTracer.TraceDebug <HttpCookie, int>((long)this.GetHashCode(), "[OwaResourceProxyRequestHandler::ResolveAnchorMailbox]: AnonResourceBackend cookie used: {0}; context {1}.", httpCookie, base.TraceContext);
                return(new ServerInfoAnchorMailbox(BackEndServer.FromString(this.savedBackendServer), this));
            }
            return(new AnonymousAnchorMailbox(this));
        }
Ejemplo n.º 4
0
        // Token: 0x06000530 RID: 1328 RVA: 0x0001CD1C File Offset: 0x0001AF1C
        protected override AnchorMailbox ResolveAnchorMailbox()
        {
            string text;
            string text2;

            if (RequestHeaderParser.TryGetPreferServerAffinity(base.HttpContext.Request.Headers, ref text) && text.Equals(bool.TrueString, StringComparison.OrdinalIgnoreCase) && RequestCookieParser.TryGetTargetServerOverride(base.HttpContext.Request.Cookies, ref text2))
            {
                try
                {
                    BackEndServer backendServer = BackEndServer.FromString(text2);
                    base.Logger.Set(3, Constants.BackEndOverrideCookieName);
                    return(new ServerInfoAnchorMailbox(backendServer, this));
                }
                catch (ArgumentException ex)
                {
                    base.Logger.AppendGenericError("Unable to parse TargetServer: {0}", text2);
                    if (ExTraceGlobals.ExceptionTracer.IsTraceEnabled(1))
                    {
                        ExTraceGlobals.ExceptionTracer.TraceDebug <string, ArgumentException>((long)this.GetHashCode(), "[EwsProxyRequestHandler::ResolveAnchorMailbox]: exception hit where target server was '{0}': {1}", text2, ex);
                    }
                }
            }
            return(base.ResolveAnchorMailbox());
        }