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); }