public APIRoutingResult DetectRoutingMatch(APIInvocationContext context)
        {
            var routeParameters = TryMatch(context.Request);

            if (routeParameters == null)
            {
                return(null);
            }
            return(new APIRoutingResult
            {
                Route = this as IAPIRoute,
                Values = routeParameters
            });
        }
Пример #2
0
        public async Task HandleRequest(APIInvocationContext context, IAPIResponder responder)
        {
            foreach (var step in steps)
            {
                var result = await step(context, responder);

                switch (result.CallEffect)
                {
                case APIInvocationEffect.Done:
                    break;

                case APIInvocationEffect.ContinueProcessing:
                    continue;

                case APIInvocationEffect.ReturnResponse:
                    context.Response.StatusCode = result.StatusCode;
                    context.Response.Content    = result.Content;
                    break;
                }
            }
        }