示例#1
0
        public SkillResponse FunctionHandler(SkillRequest input, ILambdaContext context)
        {
            context.Logger.LogLine("Request Type: " + input.GetRequestType().Name);

            // Either use the appropriate request handler or just return an empty response.
            SkillRequestHandler appropriateRequestHandler = SkillRequestHandlers.Find(x => x.IsHandlerForRequest(input));

            return(appropriateRequestHandler != null?appropriateRequestHandler.HandleRequest(input, context) : ResponseBuilder.Empty());
        }
        public RequestContext(SkillRequest request, ILambdaContext lambdaContext, SkillRequestHandler requestHandler)
        {
            Request             = request;
            Session             = request?.Session;
            SkillRequestHandler = requestHandler;

            if (SkillRequestHandler != null)
            {
                SkillRequestHandler.RequestContext = this;
            }

            // Set up the logging here
            Logger.Initialize(lambdaContext?.Logger);
            Logger.Log("Request Type: " + request?.GetRequestType().Name);
        }
 /// <summary>
 /// Uses the current context and skill request handler to return an appropriate response to the current request.
 /// If the request could not be handled, the FallbackResponse is used.
 /// </summary>
 /// <returns></returns>
 public SkillResponse HandleRequest()
 {
     return(SkillRequestHandler != null?SkillRequestHandler.HandleRequest() : FallbackResponse);
 }