Esempio n. 1
0
        /// <summary>
        /// 获得Response
        /// </summary>
        /// <param name="request"></param>
        /// <param name="baseController"></param>
        /// <param name="action"></param>
        /// <param name="globalFilters"></param>
        /// <returns></returns>
        protected virtual async Task <IFullHttpResponse> GetResponseAsync(IFullHttpRequest request, BaseController baseController, ActionInfo action, IFilter[] globalFilters)
        {
            IFullHttpResponse response = action.HandlerMethod(request);

            if (response.Status.Code != HttpResponseStatus.OK.Code)
            {
                return(response);
            }
            response = await action.HandlerAuthorityFilterAsync(request, globalFilters);

            if (response.Status.Code != HttpResponseStatus.OK.Code)
            {
                return(response);
            }
            response = await action.HandlerActionBeforeFilterAsync(request, globalFilters);

            if (response.Status.Code != HttpResponseStatus.OK.Code)
            {
                return(response);
            }
            response = await HandlerParamsAsync(request, baseController, action);

            await action.HandlerActionAfterFilterAsync(request, response, globalFilters);

            return(response);
        }