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.ObjectMapper
getObjectMapper()
protected com.amazonaws.services.lambda.runtime.events.APIGatewayProxyResponseEvent
okSerializer(java.lang.Object body)
protected java.util.Optional<BasecampBotConfiguration>
parseBot(com.amazonaws.services.lambda.runtime.events.APIGatewayProxyRequestEvent request)
protected boolean
validate(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:
validate
in 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:
parseBot
in 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:
okSerializer
in classAbstractHandler<BasecampBotConfiguration,Query,java.lang.String>
-
getObjectMapper
@NonNull protected io.micronaut.serde.ObjectMapper getObjectMapper()
- Specified by:
getObjectMapper
in classAbstractHandler<BasecampBotConfiguration,Query,java.lang.String>
- Returns:
- The Object Mapper
-
getDispatcher
@NonNull protected Dispatcher<BasecampBotConfiguration,Query,java.lang.String> getDispatcher()
- Specified by:
getDispatcher
in classAbstractHandler<BasecampBotConfiguration,Query,java.lang.String>
- Returns:
- The Dispatcher
-
-