Skip to content

Commit aad4409

Browse files
committed
+ null-check for AwsProxyRequest query string parameters
1 parent 06ebfae commit aad4409

File tree

1 file changed

+18
-11
lines changed

1 file changed

+18
-11
lines changed

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

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -529,7 +529,10 @@ public String getParameter(String s) {
529529
@Override
530530
public Enumeration<String> getParameterNames() {
531531
List<String> paramNames = new ArrayList<>();
532-
paramNames.addAll(request.getQueryStringParameters().keySet());
532+
Map<String, String> queryStringParameters = request.getQueryStringParameters();
533+
if (queryStringParameters != null) {
534+
paramNames.addAll(queryStringParameters.keySet());
535+
}
533536
paramNames.addAll(urlEncodedFormParameters.keySet());
534537
return Collections.enumeration(paramNames);
535538
}
@@ -567,13 +570,16 @@ public Map<String, String[]> getParameterMap() {
567570
params = new HashMap<>();
568571
}
569572

570-
for (Map.Entry<String, String> entry : request.getQueryStringParameters().entrySet()) {
571-
if (params.containsKey(entry.getKey())) {
572-
params.get(entry.getKey()).add(entry.getValue());
573-
} else {
574-
List<String> valueList = new ArrayList<>();
575-
valueList.add(entry.getValue());
576-
params.put(entry.getKey(), valueList);
573+
Map<String, String> queryStringParameters = request.getQueryStringParameters();
574+
if (queryStringParameters != null) {
575+
for (Map.Entry<String, String> entry : queryStringParameters.entrySet()) {
576+
if (params.containsKey(entry.getKey())) {
577+
params.get(entry.getKey()).add(entry.getValue());
578+
} else {
579+
List<String> valueList = new ArrayList<>();
580+
valueList.add(entry.getValue());
581+
params.put(entry.getKey(), valueList);
582+
}
577583
}
578584
}
579585

@@ -780,13 +786,14 @@ private String getHeaderCaseInsensitive(String key) {
780786

781787

782788
private String getQueryStringParameterCaseInsensitive(String key) {
783-
if (request.getQueryStringParameters() == null) {
789+
Map<String, String> queryStringParameters = request.getQueryStringParameters();
790+
if (queryStringParameters == null) {
784791
return null;
785792
}
786793

787-
for (String requestParamKey : request.getQueryStringParameters().keySet()) {
794+
for (String requestParamKey : queryStringParameters.keySet()) {
788795
if (key.toLowerCase().equals(requestParamKey.toLowerCase())) {
789-
return request.getQueryStringParameters().get(requestParamKey);
796+
return queryStringParameters.get(requestParamKey);
790797
}
791798
}
792799
return null;

0 commit comments

Comments
 (0)