예제 #1
0
            HttpResponseMessage CreateSelectionError(HttpControllerContext controllerContext)
            {
                var actionsFoundByParams = FindMatchingActions(controllerContext, ignoreVerbs: true);

                if (actionsFoundByParams.Count == 0)
                {
                    return(CreateActionNotFoundResponse(controllerContext));
                }

                var request          = controllerContext.Request;
                var model            = controllerContext.ControllerDescriptor.GetApiVersionModel();
                var exceptionFactory = new HttpResponseExceptionFactory(request, new Lazy <ApiVersionModel>(() => model));

                return(exceptionFactory.CreateMethodNotAllowedResponse(model.IsApiVersionNeutral, allowedMethods));
            }
예제 #2
0
            HttpResponseMessage CreateSelectionError(HttpControllerContext controllerContext)
            {
                Contract.Ensures(Contract.Result <HttpResponseMessage>() != null);

                var actionsFoundByParams = FindMatchingActions(controllerContext, ignoreVerbs: true);

                if (actionsFoundByParams.Count == 0)
                {
                    return(CreateActionNotFoundResponse(controllerContext));
                }

                var request          = controllerContext.Request;
                var versionNeutral   = controllerContext.ControllerDescriptor.GetApiVersionModel().IsApiVersionNeutral;
                var exceptionFactory = new HttpResponseExceptionFactory(request);

                return(exceptionFactory.CreateMethodNotAllowedResponse(versionNeutral, allowedMethods));
            }