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); }
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>()); }