Skip to content

Commit dd7ae41

Browse files
author
Dennis Kieselhorst
authored
Merge pull request #465 from bqader/main
fix: AwsHttpApiV2ProxyHttpServletRequest.headersMapToMultiValue trunc…
2 parents dbf072d + 216deb7 commit dd7ae41

File tree

3 files changed

+5
-1
lines changed

3 files changed

+5
-1
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -533,6 +533,7 @@ private Headers headersMapToMultiValue(Map<String, String> headers) {
533533
// Exceptions for known header values that contain commas
534534
if (hkv.getKey().equalsIgnoreCase(HttpHeaders.DATE) ||
535535
hkv.getKey().equalsIgnoreCase(HttpHeaders.IF_MODIFIED_SINCE) ||
536+
hkv.getKey().equalsIgnoreCase(HttpHeaders.USER_AGENT) ||
536537
hkv.getKey().toLowerCase(Locale.getDefault()).startsWith("accept-")) {
537538
h.add(hkv.getKey(), hkv.getValue());
538539
continue;

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import org.junit.Test;
99

1010
import javax.servlet.http.HttpServletRequest;
11+
import javax.ws.rs.core.HttpHeaders;
1112

1213
import static org.junit.Assert.*;
1314

@@ -23,6 +24,7 @@ public void reflection_getRequestClass_returnsCorrectType() {
2324
public void baseRequest_read_populatesSuccessfully() {
2425
HttpApiV2ProxyRequest req = new AwsProxyRequestBuilder("/hello", "GET")
2526
.referer("localhost")
27+
.userAgent("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.61 Safari/537.36")
2628
.queryString("param1", "value1")
2729
.header("custom", "value")
2830
.cookie("cookey", "cooval")
@@ -33,6 +35,7 @@ public void baseRequest_read_populatesSuccessfully() {
3335
assertEquals("/hello", servletRequest.getPathInfo());
3436
assertEquals("value1", servletRequest.getParameter("param1"));
3537
assertEquals("value", servletRequest.getHeader("CUSTOM"));
38+
assertEquals("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.61 Safari/537.36", servletRequest.getHeader(HttpHeaders.USER_AGENT));
3639

3740
assertNotNull(servletRequest.getCookies());
3841
assertEquals(1, servletRequest.getCookies().length);

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public class AwsProxyHttpServletRequestTest {
3636
private static final String FORM_PARAM_TEST = "test_cookie_param";
3737
private static final String QUERY_STRING_NAME_VALUE = "Bob";
3838
private static final String REQUEST_SCHEME_HTTP = "http";
39-
private static final String USER_AGENT = "Mozilla/5.0 (Android 4.4; Mobile; rv:41.0) Gecko/41.0 Firefox/41.0";
39+
private static final String USER_AGENT = "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.61 Safari/537.36";
4040
private static final String REFERER = "https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox";
4141
private static ZonedDateTime REQUEST_DATE = ZonedDateTime.now();
4242

0 commit comments

Comments
 (0)