Skip to content

Commit 2c03868

Browse files
authored
Fixing NullpointerException in case of non defined statusCode (#497)
pdating AwsProxyHttpServletResponseWriter.java Fix provided for #497 This is to resolve NullPointerException when HttpStatusCode is not present in default enum Response.StatusType
1 parent f170312 commit 2c03868

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

aws-serverless-java-container-core/src/main/java/com/amazonaws/serverless/proxy/internal/servlet/AwsProxyHttpServletResponseWriter.java

+6-3
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@
1717
import com.amazonaws.serverless.proxy.ResponseWriter;
1818
import com.amazonaws.serverless.proxy.internal.LambdaContainerHandler;
1919
import com.amazonaws.serverless.proxy.internal.testutils.Timer;
20-
import com.amazonaws.serverless.proxy.model.AwsProxyRequest;
2120
import com.amazonaws.serverless.proxy.model.AwsProxyResponse;
2221
import com.amazonaws.serverless.proxy.model.Headers;
2322
import com.amazonaws.serverless.proxy.model.RequestSource;
2423
import com.amazonaws.services.lambda.runtime.Context;
2524

2625
import javax.ws.rs.core.Response;
26+
import javax.ws.rs.core.Response.Status;
2727

2828
import java.util.Base64;
2929
import java.util.HashMap;
@@ -74,8 +74,11 @@ public AwsProxyResponse writeResponse(AwsHttpServletResponse containerResponse,
7474

7575
awsProxyResponse.setStatusCode(containerResponse.getStatus());
7676

77-
if (containerResponse.getAwsProxyRequest() != null && containerResponse.getAwsProxyRequest().getRequestSource() == RequestSource.ALB) {
78-
awsProxyResponse.setStatusDescription(containerResponse.getStatus() + " " + Response.Status.fromStatusCode(containerResponse.getStatus()).getReasonPhrase());
77+
Status responseStatus = Response.Status.fromStatusCode(containerResponse.getStatus());
78+
79+
if (containerResponse.getAwsProxyRequest() != null && containerResponse.getAwsProxyRequest().getRequestSource() == RequestSource.ALB
80+
&& responseStatus != null) {
81+
awsProxyResponse.setStatusDescription(containerResponse.getStatus() + " " + responseStatus.getReasonPhrase());
7982
}
8083

8184
Timer.stop("SERVLET_RESPONSE_WRITE");

0 commit comments

Comments
 (0)