Class Handler
- java.lang.Object
-
- io.micronaut.function.executor.AbstractExecutor<C>
-
- io.micronaut.function.executor.AbstractFunctionExecutor<I,O,com.amazonaws.services.lambda.runtime.Context>
-
- io.micronaut.function.aws.MicronautRequestHandler<com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent,com.amazonaws.services.lambda.runtime.events.APIGatewayProxyResponseEvent>
-
- io.micronaut.chatbots.lambda.AbstractHandler<BasecampBotConfiguration,Query,java.lang.String>
-
- io.micronaut.chatbots.basecamp.lambda.Handler
-
- All Implemented Interfaces:
com.amazonaws.services.lambda.runtime.RequestHandler<com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent,com.amazonaws.services.lambda.runtime.events.APIGatewayProxyResponseEvent>,io.micronaut.context.ApplicationContextProvider,io.micronaut.function.aws.MicronautLambdaContext,io.micronaut.function.executor.FunctionExecutor<com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent,com.amazonaws.services.lambda.runtime.events.APIGatewayProxyResponseEvent>,java.io.Closeable,java.lang.AutoCloseable
public class Handler extends AbstractHandler<BasecampBotConfiguration,Query,java.lang.String>
AWS Lambda Handler for a Telegram Bot Webhook.- Since:
- 1.0.0
- Author:
- Sergio del Amo
-
-
Field Summary
-
Fields inherited from class io.micronaut.function.aws.MicronautRequestHandler
ENV_X_AMZN_TRACE_ID, LAMBDA_TRACE_HEADER_PROP, MDC_DEFAULT_AWS_REQUEST_ID, MDC_DEFAULT_FUNCTION_ARN, MDC_DEFAULT_FUNCTION_MEMORY_SIZE, MDC_DEFAULT_FUNCTION_NAME, MDC_DEFAULT_FUNCTION_REMAINING_TIME, MDC_DEFAULT_FUNCTION_VERSION, MDC_DEFAULT_XRAY_TRACE_ID
-
-
Constructor Summary
Constructors Constructor Description Handler()Default constructor; will initialize a suitable ApplicationContext for Lambda deployment.Handler(io.micronaut.context.ApplicationContext applicationContext)Constructor used to inject a preexistingApplicationContext.Handler(io.micronaut.context.ApplicationContextBuilder applicationContextBuilder)Constructor used to inject a preexistingApplicationContextBuilder.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Dispatcher<BasecampBotConfiguration,Query,java.lang.String>getDispatcher()protected io.micronaut.serde.ObjectMappergetObjectMapper()protected com.amazonaws.services.lambda.runtime.events.APIGatewayProxyResponseEventokSerializer(java.lang.Object body)protected java.util.Optional<BasecampBotConfiguration>parseBot(com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent request)protected booleanvalidate(com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent request)-
Methods inherited from class io.micronaut.chatbots.lambda.AbstractHandler
execute, ok, ok, okHtml, okJson, parseHeader, response, serverError, unauthorized
-
Methods inherited from class io.micronaut.function.aws.MicronautRequestHandler
buildApplicationContext, convertInput, handleRequest, mdcput, newApplicationContextBuilder, parseXrayTraceId, populateMappingDiagnosticContextValues, populateMappingDiagnosticContextWithXrayTraceId
-
-
-
-
Constructor Detail
-
Handler
public Handler()
Default constructor; will initialize a suitable ApplicationContext for Lambda deployment.
-
Handler
public Handler(io.micronaut.context.ApplicationContext applicationContext)
Constructor used to inject a preexistingApplicationContext.- Parameters:
applicationContext- the application context
-
Handler
public Handler(io.micronaut.context.ApplicationContextBuilder applicationContextBuilder)
Constructor used to inject a preexistingApplicationContextBuilder.- Parameters:
applicationContextBuilder- the application context builder
-
-
Method Detail
-
validate
@NonNull protected boolean validate(@NonNull com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent request)- Specified by:
validatein classAbstractHandler<BasecampBotConfiguration,Query,java.lang.String>- Parameters:
request- API Gateway Request- Returns:
- Whether the request is valid or not
-
parseBot
@NonNull protected java.util.Optional<BasecampBotConfiguration> parseBot(@NonNull com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent request)
- Specified by:
parseBotin classAbstractHandler<BasecampBotConfiguration,Query,java.lang.String>- Parameters:
request- API Gateway Request- Returns:
- The Bot associated to the request
-
okSerializer
@NonNull protected com.amazonaws.services.lambda.runtime.events.APIGatewayProxyResponseEvent okSerializer(@NonNull java.lang.Object body)- Specified by:
okSerializerin classAbstractHandler<BasecampBotConfiguration,Query,java.lang.String>
-
getObjectMapper
@NonNull protected io.micronaut.serde.ObjectMapper getObjectMapper()
- Specified by:
getObjectMapperin classAbstractHandler<BasecampBotConfiguration,Query,java.lang.String>- Returns:
- The Object Mapper
-
getDispatcher
@NonNull protected Dispatcher<BasecampBotConfiguration,Query,java.lang.String> getDispatcher()
- Specified by:
getDispatcherin classAbstractHandler<BasecampBotConfiguration,Query,java.lang.String>- Returns:
- The Dispatcher
-
-