Skip to content

Commit e33f603

Browse files
committed
Revert (recently added) cookie set header flags
Issue: SPR-15225
1 parent 5d92a85 commit e33f603

File tree

4 files changed

+6
-24
lines changed

4 files changed

+6
-24
lines changed

spring-test/src/main/java/org/springframework/mock/web/MockHttpServletRequest.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,6 @@
6262
import org.springframework.util.LinkedCaseInsensitiveMap;
6363
import org.springframework.util.LinkedMultiValueMap;
6464
import org.springframework.util.MultiValueMap;
65-
import org.springframework.util.ObjectUtils;
6665
import org.springframework.util.StreamUtils;
6766
import org.springframework.util.StringUtils;
6867

@@ -218,8 +217,6 @@ public class MockHttpServletRequest implements HttpServletRequest {
218217

219218
private Cookie[] cookies;
220219

221-
private boolean cookieHeaderSet;
222-
223220
private final Map<String, HeaderValueHolder> headers = new LinkedCaseInsensitiveMap<>();
224221

225222
private String method;
@@ -931,7 +928,8 @@ public String getAuthType() {
931928

932929
public void setCookies(Cookie... cookies) {
933930
this.cookies = cookies;
934-
if (!this.cookieHeaderSet && !ObjectUtils.isEmpty(cookies)) {
931+
this.headers.remove(HttpHeaders.COOKIE);
932+
if (cookies != null) {
935933
Arrays.stream(cookies)
936934
.map(c -> c.getName() + '=' + (c.getValue() == null ? "" : c.getValue()))
937935
.forEach(value -> doAddHeaderValue(HttpHeaders.COOKIE, value, false));
@@ -972,7 +970,6 @@ else if (HttpHeaders.ACCEPT_LANGUAGE.equalsIgnoreCase(name) &&
972970
setPreferredLocales(headers.getAcceptLanguageAsLocales());
973971
}
974972
else {
975-
this.cookieHeaderSet = HttpHeaders.COOKIE.equalsIgnoreCase(name);
976973
doAddHeaderValue(name, value, false);
977974
}
978975
}

spring-test/src/main/java/org/springframework/mock/web/MockHttpServletResponse.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,6 @@ public class MockHttpServletResponse implements HttpServletResponse {
9898

9999
private final List<Cookie> cookies = new ArrayList<>();
100100

101-
private boolean cookieHeaderSet;
102-
103101
private final Map<String, HeaderValueHolder> headers = new LinkedCaseInsensitiveMap<>();
104102

105103
private int status = HttpServletResponse.SC_OK;
@@ -323,9 +321,7 @@ public Locale getLocale() {
323321
public void addCookie(Cookie cookie) {
324322
Assert.notNull(cookie, "Cookie must not be null");
325323
this.cookies.add(cookie);
326-
if (!this.cookieHeaderSet) {
327-
doAddHeaderValue(HttpHeaders.SET_COOKIE, getCookieHeader(cookie), false);
328-
}
324+
doAddHeaderValue(HttpHeaders.SET_COOKIE, getCookieHeader(cookie), false);
329325
}
330326

331327
private String getCookieHeader(Cookie cookie) {
@@ -536,13 +532,11 @@ private String formatDate(long date) {
536532

537533
@Override
538534
public void setHeader(String name, String value) {
539-
this.cookieHeaderSet = HttpHeaders.SET_COOKIE.equalsIgnoreCase(name);
540535
setHeaderValue(name, value);
541536
}
542537

543538
@Override
544539
public void addHeader(String name, String value) {
545-
this.cookieHeaderSet = HttpHeaders.SET_COOKIE.equalsIgnoreCase(name);
546540
addHeaderValue(name, value);
547541
}
548542

spring-web/src/test/java/org/springframework/mock/web/test/MockHttpServletRequest.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,6 @@
6262
import org.springframework.util.LinkedCaseInsensitiveMap;
6363
import org.springframework.util.LinkedMultiValueMap;
6464
import org.springframework.util.MultiValueMap;
65-
import org.springframework.util.ObjectUtils;
6665
import org.springframework.util.StreamUtils;
6766
import org.springframework.util.StringUtils;
6867

@@ -218,8 +217,6 @@ public class MockHttpServletRequest implements HttpServletRequest {
218217

219218
private Cookie[] cookies;
220219

221-
private boolean cookieHeaderSet;
222-
223220
private final Map<String, HeaderValueHolder> headers = new LinkedCaseInsensitiveMap<>();
224221

225222
private String method;
@@ -931,7 +928,8 @@ public String getAuthType() {
931928

932929
public void setCookies(Cookie... cookies) {
933930
this.cookies = cookies;
934-
if (!this.cookieHeaderSet && !ObjectUtils.isEmpty(cookies)) {
931+
this.headers.remove(HttpHeaders.COOKIE);
932+
if (cookies != null) {
935933
Arrays.stream(cookies)
936934
.map(c -> c.getName() + '=' + (c.getValue() == null ? "" : c.getValue()))
937935
.forEach(value -> doAddHeaderValue(HttpHeaders.COOKIE, value, false));
@@ -972,7 +970,6 @@ else if (HttpHeaders.ACCEPT_LANGUAGE.equalsIgnoreCase(name) &&
972970
setPreferredLocales(headers.getAcceptLanguageAsLocales());
973971
}
974972
else {
975-
this.cookieHeaderSet = HttpHeaders.COOKIE.equalsIgnoreCase(name);
976973
doAddHeaderValue(name, value, false);
977974
}
978975
}

spring-web/src/test/java/org/springframework/mock/web/test/MockHttpServletResponse.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,6 @@ public class MockHttpServletResponse implements HttpServletResponse {
9898

9999
private final List<Cookie> cookies = new ArrayList<>();
100100

101-
private boolean cookieHeaderSet;
102-
103101
private final Map<String, HeaderValueHolder> headers = new LinkedCaseInsensitiveMap<>();
104102

105103
private int status = HttpServletResponse.SC_OK;
@@ -323,9 +321,7 @@ public Locale getLocale() {
323321
public void addCookie(Cookie cookie) {
324322
Assert.notNull(cookie, "Cookie must not be null");
325323
this.cookies.add(cookie);
326-
if (!this.cookieHeaderSet) {
327-
doAddHeaderValue(HttpHeaders.SET_COOKIE, getCookieHeader(cookie), false);
328-
}
324+
doAddHeaderValue(HttpHeaders.SET_COOKIE, getCookieHeader(cookie), false);
329325
}
330326

331327
private String getCookieHeader(Cookie cookie) {
@@ -536,13 +532,11 @@ private String formatDate(long date) {
536532

537533
@Override
538534
public void setHeader(String name, String value) {
539-
this.cookieHeaderSet = HttpHeaders.SET_COOKIE.equalsIgnoreCase(name);
540535
setHeaderValue(name, value);
541536
}
542537

543538
@Override
544539
public void addHeader(String name, String value) {
545-
this.cookieHeaderSet = HttpHeaders.SET_COOKIE.equalsIgnoreCase(name);
546540
addHeaderValue(name, value);
547541
}
548542

0 commit comments

Comments
 (0)