DefaultCookieSerializer ignores null Cookie value
Previously a null Cookie value was returned by DefaultCookieSerializer readCookieValues(). This could cause NullPointerExeptions later on. This commit ignores cookies with a null value. Fixes gh-392
This commit is contained in:
@@ -59,6 +59,9 @@ public class DefaultCookieSerializer implements CookieSerializer {
|
||||
for (Cookie cookie : cookies) {
|
||||
if (cookieName.equals(cookie.getName())) {
|
||||
String sessionId = cookie.getValue();
|
||||
if(sessionId == null) {
|
||||
continue;
|
||||
}
|
||||
if(jvmRoute != null && sessionId.endsWith(jvmRoute)) {
|
||||
sessionId = sessionId.substring(0, sessionId.length() - jvmRoute.length());
|
||||
}
|
||||
|
||||
@@ -88,6 +88,30 @@ public class DefaultCookieSerializerTests {
|
||||
assertThat(serializer.readCookieValues(request)).containsExactly(sessionId, secondSession);
|
||||
}
|
||||
|
||||
// gh-392
|
||||
@Test
|
||||
public void readCookieValuesNullCookieValue() {
|
||||
request.setCookies(new Cookie(cookieName, null));
|
||||
|
||||
assertThat(serializer.readCookieValues(request)).isEmpty();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void readCookieValuesNullCookieValueAndJvmRoute() {
|
||||
serializer.setJvmRoute("123");
|
||||
request.setCookies(new Cookie(cookieName, null));
|
||||
|
||||
assertThat(serializer.readCookieValues(request)).isEmpty();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void readCookieValuesNullCookieValueAndNotNullCookie() {
|
||||
serializer.setJvmRoute("123");
|
||||
request.setCookies(new Cookie(cookieName, null), new Cookie(cookieName, sessionId));
|
||||
|
||||
assertThat(serializer.readCookieValues(request)).containsOnly(sessionId);
|
||||
}
|
||||
|
||||
// --- writeCookie ---
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user