Example #1
0
        private void SetCookies(HttpContext httpContext, HttpWebRequest preloadRequest, string upn, string rpsHeaders)
        {
            HttpRequest  request  = httpContext.Request;
            HttpResponse response = httpContext.Response;

            preloadRequest.CookieContainer = new CookieContainer(request.Cookies.Count + response.Cookies.Count + 1);
            foreach (object obj in request.Cookies)
            {
                string text = (string)obj;
                try
                {
                    preloadRequest.CookieContainer.Add(PreloadSessionDataRequestCreator.GetCookieFromHttpCookie(request.Cookies[text], preloadRequest.Host));
                }
                catch (CookieException arg)
                {
                    ExTraceGlobals.CoreTracer.TraceWarning <string, CookieException>((long)this.GetHashCode(), "[PreloadSessionDataRequestCreator::SetCookies]: Could not set cookie {0}: {1}.", text, arg);
                }
            }
            foreach (object obj2 in response.Cookies)
            {
                string name = (string)obj2;
                preloadRequest.CookieContainer.Add(PreloadSessionDataRequestCreator.GetCookieFromHttpCookie(response.Cookies[name], preloadRequest.Host));
            }
            UserContextCookie2 userContextCookie = UserContextCookie2.Create(null, Guid.NewGuid().ToString("N"), null, httpContext.Request.IsSecureConnection);

            if (!AuthCommon.IsFrontEnd && !string.IsNullOrWhiteSpace(rpsHeaders))
            {
                IEnumerable <string> enumerable = from s in rpsHeaders.Split(new char[]
                {
                    ' '
                })
                                                  where s.StartsWith("RPSAuth=") || s.StartsWith("RPSSecAuth=")
                                                  select s;
                foreach (string text2 in enumerable)
                {
                    if (text2.StartsWith("RPSAuth="))
                    {
                        preloadRequest.CookieContainer.Add(new Cookie("RPSAuth", text2.Substring(8, text2.Length - 9), "/", preloadRequest.Host));
                    }
                    else if (text2.StartsWith("RPSSecAuth="))
                    {
                        preloadRequest.CookieContainer.Add(new Cookie("RPSSecAuth", text2.Substring(11, text2.Length - 12), "/", preloadRequest.Host));
                    }
                }
            }
            preloadRequest.CookieContainer.Add(PreloadSessionDataRequestCreator.GetCookieFromHttpCookie(userContextCookie.HttpCookie, preloadRequest.Host));
            httpContext.Response.Cookies.Set(userContextCookie.HttpCookie);
        }
Example #2
0
 public static void CreateAsyncRequest(HttpContext httpContext, string orgIdPuid, string upn, string rpsHeaders)
 {
     if (PreloadSessionDataRequestCreator.preloadThrottlingCache.Contains(orgIdPuid))
     {
         return;
     }
     try
     {
         ExAssert.RetailAssert(httpContext != null, "HttpContext is null");
         ExAssert.RetailAssert(orgIdPuid != null, "orgIdPuid is null");
         PreloadSessionDataRequestCreator preloadSessionDataRequestCreator = new PreloadSessionDataRequestCreator();
         preloadSessionDataRequestCreator.InternalCreateAsyncRequest(httpContext, orgIdPuid, upn, rpsHeaders);
     }
     catch (Exception ex)
     {
         if (!(ex is HttpException))
         {
             ExWatson.SendReport(ex, ReportOptions.DoNotFreezeThreads, null);
         }
     }
 }