Skip to content

Commit e6082f2

Browse files
authored
Merge branch 'main' into dependabot/maven/aws-serverless-java-container-core/com.amazonaws-aws-lambda-java-core-1.4.0
2 parents 9c48768 + 30af781 commit e6082f2

File tree

2 files changed

+16
-3
lines changed

2 files changed

+16
-3
lines changed

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -496,9 +496,12 @@ private void setHeader(String key, String value, boolean overwrite) {
496496
values = new ArrayList<>();
497497
}
498498

499-
values.add(encodedValue);
500-
501-
headers.put(encodedKey, values);
499+
if (value == null && overwrite) {
500+
headers.remove(encodedKey);
501+
} else if (value != null) {
502+
values.add(encodedValue);
503+
headers.put(encodedKey, values);
504+
}
502505
}
503506

504507
private boolean canSetHeader() {

aws-serverless-java-container-core/src/test/java/com/amazonaws/serverless/proxy/internal/servlet/AwsHttpServletResponseTest.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,16 @@ void responseHeaders_getAwsResponseHeaders_expectLatestHeader() {
173173
assertEquals("application/xml", awsResp.getFirst(HttpHeaders.CONTENT_TYPE));
174174
}
175175

176+
@Test
177+
void responseHeaders_setHeaderWithNullValue_expectHeaderRemoved() {
178+
AwsHttpServletResponse resp = new AwsHttpServletResponse(null, null);
179+
resp.setHeader(HttpHeaders.CONTENT_DISPOSITION, "inline");
180+
resp.setHeader(HttpHeaders.CONTENT_DISPOSITION, null);
181+
182+
Headers awsResp = resp.getAwsResponseHeaders();
183+
assertEquals(0, awsResp.size());
184+
}
185+
176186
@Test
177187
void responseHeaders_getAwsResponseHeaders_expectedMultpleCookieHeaders() {
178188
AwsHttpServletResponse resp = new AwsHttpServletResponse(null, null);

0 commit comments

Comments
 (0)