private IUserContext GetUserContext()
        {
            // No DI available here
            var userContextService = IckyDependencyResolution.ResolveFromMvcContext <IUserContextService>();

            return(userContextService.GetCurrentContext());
        }
        public override void Log(ExceptionLoggerContext context)
        {
            using (var resolutionContext = IckyDependencyResolution.CreateNewChildContextFromRoot())
            {
                var errorLoggingService = resolutionContext.Resolve <IErrorLoggingService>();
                errorLoggingService.Log(context.Exception);
            }

            base.Log(context);
        }
Exemple #3
0
        private IUserContext GetCofoundryUser()
        {
            // No constructor injection available
            var userContextService = IckyDependencyResolution.ResolveFromMvcContext <IUserContextService>();
            var userContext        = userContextService.GetCurrentContext();

            if (userContext.IsCofoundryUser())
            {
                return(userContext);
            }

            return(null);
        }
        public override void OnResultExecuted(ResultExecutedContext filterContext)
        {
            var cofoundryUser = GetCofoundryUserIfCanShowVisualEditor(filterContext);

            if (cofoundryUser != null)
            {
                var responseDataCache = IckyDependencyResolution.ResolveFromMvcContext <IPageResponseDataCache>();
                var responseData      = responseDataCache.Get();

                var resourceLocator = IckyDependencyResolution.ResolveFromMvcContext <IResourceLocator>();

                var response = filterContext.HttpContext.Response;
                var context  = filterContext.Controller.ControllerContext;
                response.Filter = new VisualEditorContentStream(response.Filter, responseData, resourceLocator, context);
            }
        }
        public override void OnActionExecuting(HttpActionContext actionContext)
        {
            if (actionContext.Request.Method != HttpMethod.Get)
            {
                string token = null;
                IEnumerable <string> tokenHeaders;
                if (actionContext.Request.Headers.TryGetValues(TOKEN_HEADER, out tokenHeaders))
                {
                    token = tokenHeaders.First();
                }

                if (string.IsNullOrWhiteSpace(token))
                {
                    throw new ApplicationException($"The CSRF token is missing. Please add the {TOKEN_HEADER} header with a valid token.");
                }

                var service = IckyDependencyResolution.ResolveInWebApiContext <IAntiCSRFService>();
                service.ValidateToken(token);
            }
        }
 private T Resolve <T>()
 {
     // Use DependencyResolver because IModelBinder are singletons and don't allow injection in the request lifecycle
     return(IckyDependencyResolution.ResolveInWebApiContext <T>());
 }