public override void OnActionExecuting(HttpActionContext actionContext) { actionContext.Response = null; if (!_isInitialized) { lock (_initializeLock) { if (!_isInitialized) { _isInitialized = true; OnFirstRequestInitialize(actionContext); } } } var request = new HttpRequestMessageWrapper(actionContext.Request); foreach (IRequestRule rule in _requestRules) { HttpResponseMessageWrapper message = rule.Invoke(request); if (message != null) { actionContext.Response = message.Response; } } }
public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext) { var response = new HttpResponseMessageWrapper(actionExecutedContext.Response); foreach (IResponseRule func in _responseRules) { func.Invoke(response); } base.OnActionExecuted(actionExecutedContext); }