File tree 3 files changed +16
-3
lines changed
main/java/io/micronaut/aws/apigateway
test/groovy/io/micronaut/aws/apigateway
3 files changed +16
-3
lines changed Original file line number Diff line number Diff line change @@ -38,9 +38,9 @@ public class HttpRequestStageResolver implements StageResolver<HttpRequest<?>> {
38
38
public Optional <String > resolve (@ NonNull HttpRequest <?> request ) {
39
39
if (request instanceof ServletHttpRequest servletHttpRequest ) {
40
40
Object nativeRequest = servletHttpRequest .getNativeRequest ();
41
- if (nativeRequest instanceof APIGatewayV2HTTPEvent aPIGatewayV2HTTPEvent ) {
41
+ if (nativeRequest instanceof APIGatewayV2HTTPEvent aPIGatewayV2HTTPEvent && aPIGatewayV2HTTPEvent . getRequestContext () != null ) {
42
42
return Optional .of (aPIGatewayV2HTTPEvent .getRequestContext ().getStage ());
43
- } else if (nativeRequest instanceof APIGatewayProxyRequestEvent apiGatewayProxyRequestEvent ) {
43
+ } else if (nativeRequest instanceof APIGatewayProxyRequestEvent apiGatewayProxyRequestEvent && apiGatewayProxyRequestEvent . getRequestContext () != null ) {
44
44
return Optional .of (apiGatewayProxyRequestEvent .getRequestContext ().getStage ());
45
45
}
46
46
}
Original file line number Diff line number Diff line change @@ -23,6 +23,19 @@ class HttpRequestStageResolverSpec extends Specification {
23
23
' foo' == resolver. resolve(request). get()
24
24
}
25
25
26
+ void " no npe if no context" () {
27
+ HttpRequestStageResolver resolver = new HttpRequestStageResolver ()
28
+ def proxyRequestStub = Stub (APIGatewayV2HTTPEvent ) {
29
+ getRequestContext() >> null
30
+ }
31
+ def request = Stub (ServletHttpRequest ) {
32
+ getNativeRequest() >> proxyRequestStub
33
+ }
34
+
35
+ expect :
36
+ resolver. resolve(request). isEmpty()
37
+ }
38
+
26
39
void " resolve stage from HttpRequest" () {
27
40
given :
28
41
HttpRequestStageResolver resolver = new HttpRequestStageResolver ()
Original file line number Diff line number Diff line change @@ -25,7 +25,7 @@ micronaut-validation = "4.2.0"
25
25
26
26
managed-alexa-ask-sdk = " 2.86.0"
27
27
managed-aws-java-sdk-v1 = ' 1.12.595'
28
- managed-aws-java-sdk-v2 = ' 2.21.29 '
28
+ managed-aws-java-sdk-v2 = ' 2.20.162 '
29
29
managed-aws-lambda = ' 1.2.3'
30
30
managed-aws-lambda-events = ' 3.11.3'
31
31
managed-aws-lambda-java-serialization = ' 1.1.4'
You can’t perform that action at this time.
0 commit comments