Exemple #1
0
        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;
                }
            }
        }
Exemple #2
0
        public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
        {
            var response = new HttpResponseMessageWrapper(actionExecutedContext.Response);

            foreach (IResponseRule func in _responseRules)
            {
                func.Invoke(response);
            }

            base.OnActionExecuted(actionExecutedContext);
        }