protected override void OnActionExecuting(ActionExecutingContext filterContext) { Data = new DataManager(filterContext.HttpContext); Mailer = new SiteMailer(); Mailer.EmailLogoPath = filterContext.HttpContext.Server.MapPath("~/email-logo.png"); Cookies = new CookieManager(this); Users = new UserManager(Data); base.OnActionExecuting(filterContext); if(filterContext.HttpContext.Request.HttpMethod.Equals("GET", StringComparison.InvariantCultureIgnoreCase) && !filterContext.HttpContext.Request.IsSecureConnection && Cookies.UseHttps()) { string url = Environment.GetAbsoluteDomain(true) + filterContext.HttpContext.Request.RawUrl; filterContext.Result = new RedirectResult(url); } else { UserToken token = Cookies.GetUserToken(); User user = Users.GetUser(token); ViewBag.CurrentUser = CurrentUser = user; /* Set user context for API calls */ if(CurrentUser == null) { var apiToken = new HeaderManager().GetApiToken(Request.Headers); ViewBag.CurrentUser = CurrentUser = Users.GetApiUser(apiToken); } ViewBag.Message = Cookies.GetMessage(); Cookies.ClearMessage(); if(CurrentUser == null || !CurrentUser.EnableProfiler) { MiniProfiler.Stop(true); } else { ViewBag.IncludeProfiler = true; } } }