Skip to content

Commit c4b4aa6

Browse files
committed
Fixing the cookies field in the v2 request object.
1 parent 5bfacf2 commit c4b4aa6

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,13 @@ public String getAuthType() {
7575

7676
@Override
7777
public Cookie[] getCookies() {
78+
if (request.getCookies() != null && !request.getCookies().isEmpty()) {
79+
return request.getCookies().stream()
80+
.map(cookie -> cookie.split("=", 2))
81+
.map(parts -> new Cookie(SecurityUtils.crlf(parts[0]), SecurityUtils.crlf(parts[1])))
82+
.toArray(Cookie[]::new);
83+
}
84+
7885
if (headers == null || !headers.containsKey(HttpHeaders.COOKIE)) {
7986
return new Cookie[0];
8087
}

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import com.amazonaws.serverless.proxy.model.HttpApiV2ProxyRequestContext;
88
import org.junit.Test;
99

10+
import javax.servlet.http.Cookie;
1011
import javax.servlet.http.HttpServletRequest;
1112

1213
import static org.junit.Assert.*;
@@ -25,13 +26,18 @@ public void baseRequest_read_populatesSuccessfully() {
2526
.referer("localhost")
2627
.queryString("param1", "value1")
2728
.header("custom", "value")
29+
.cookie("_cookie", "baked")
2830
.apiId("test").toHttpApiV2Request();
2931
AwsHttpApiV2HttpServletRequestReader reader = new AwsHttpApiV2HttpServletRequestReader();
3032
try {
3133
HttpServletRequest servletRequest = reader.readRequest(req, null, null, LambdaContainerHandler.getContainerConfig());
3234
assertEquals("/hello", servletRequest.getPathInfo());
3335
assertEquals("value1", servletRequest.getParameter("param1"));
3436
assertEquals("value", servletRequest.getHeader("CUSTOM"));
37+
Cookie[] cookies = servletRequest.getCookies();
38+
assertEquals(1, cookies.length);
39+
assertEquals("_cookie", cookies[0].getName());
40+
assertEquals("baked", cookies[0].getValue());
3541

3642
assertNotNull(servletRequest.getAttribute(AwsHttpApiV2HttpServletRequestReader.HTTP_API_CONTEXT_PROPERTY));
3743
assertEquals("test",

0 commit comments

Comments
 (0)