Revert (recently added) cookie set header flags

Issue: SPR-15225
This commit is contained in:
Rossen Stoyanchev
2017-04-11 07:16:43 -04:00
parent 5d92a85fcb
commit e33f603f68
4 changed files with 6 additions and 24 deletions

View File

@@ -62,7 +62,6 @@ import org.springframework.util.Assert;
import org.springframework.util.LinkedCaseInsensitiveMap; import org.springframework.util.LinkedCaseInsensitiveMap;
import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap; import org.springframework.util.MultiValueMap;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StreamUtils; import org.springframework.util.StreamUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
@@ -218,8 +217,6 @@ public class MockHttpServletRequest implements HttpServletRequest {
private Cookie[] cookies; private Cookie[] cookies;
private boolean cookieHeaderSet;
private final Map<String, HeaderValueHolder> headers = new LinkedCaseInsensitiveMap<>(); private final Map<String, HeaderValueHolder> headers = new LinkedCaseInsensitiveMap<>();
private String method; private String method;
@@ -931,7 +928,8 @@ public class MockHttpServletRequest implements HttpServletRequest {
public void setCookies(Cookie... cookies) { public void setCookies(Cookie... cookies) {
this.cookies = cookies; this.cookies = cookies;
if (!this.cookieHeaderSet && !ObjectUtils.isEmpty(cookies)) { this.headers.remove(HttpHeaders.COOKIE);
if (cookies != null) {
Arrays.stream(cookies) Arrays.stream(cookies)
.map(c -> c.getName() + '=' + (c.getValue() == null ? "" : c.getValue())) .map(c -> c.getName() + '=' + (c.getValue() == null ? "" : c.getValue()))
.forEach(value -> doAddHeaderValue(HttpHeaders.COOKIE, value, false)); .forEach(value -> doAddHeaderValue(HttpHeaders.COOKIE, value, false));
@@ -972,7 +970,6 @@ public class MockHttpServletRequest implements HttpServletRequest {
setPreferredLocales(headers.getAcceptLanguageAsLocales()); setPreferredLocales(headers.getAcceptLanguageAsLocales());
} }
else { else {
this.cookieHeaderSet = HttpHeaders.COOKIE.equalsIgnoreCase(name);
doAddHeaderValue(name, value, false); doAddHeaderValue(name, value, false);
} }
} }

View File

@@ -98,8 +98,6 @@ public class MockHttpServletResponse implements HttpServletResponse {
private final List<Cookie> cookies = new ArrayList<>(); private final List<Cookie> cookies = new ArrayList<>();
private boolean cookieHeaderSet;
private final Map<String, HeaderValueHolder> headers = new LinkedCaseInsensitiveMap<>(); private final Map<String, HeaderValueHolder> headers = new LinkedCaseInsensitiveMap<>();
private int status = HttpServletResponse.SC_OK; private int status = HttpServletResponse.SC_OK;
@@ -323,9 +321,7 @@ public class MockHttpServletResponse implements HttpServletResponse {
public void addCookie(Cookie cookie) { public void addCookie(Cookie cookie) {
Assert.notNull(cookie, "Cookie must not be null"); Assert.notNull(cookie, "Cookie must not be null");
this.cookies.add(cookie); this.cookies.add(cookie);
if (!this.cookieHeaderSet) { doAddHeaderValue(HttpHeaders.SET_COOKIE, getCookieHeader(cookie), false);
doAddHeaderValue(HttpHeaders.SET_COOKIE, getCookieHeader(cookie), false);
}
} }
private String getCookieHeader(Cookie cookie) { private String getCookieHeader(Cookie cookie) {
@@ -536,13 +532,11 @@ public class MockHttpServletResponse implements HttpServletResponse {
@Override @Override
public void setHeader(String name, String value) { public void setHeader(String name, String value) {
this.cookieHeaderSet = HttpHeaders.SET_COOKIE.equalsIgnoreCase(name);
setHeaderValue(name, value); setHeaderValue(name, value);
} }
@Override @Override
public void addHeader(String name, String value) { public void addHeader(String name, String value) {
this.cookieHeaderSet = HttpHeaders.SET_COOKIE.equalsIgnoreCase(name);
addHeaderValue(name, value); addHeaderValue(name, value);
} }

View File

@@ -62,7 +62,6 @@ import org.springframework.util.Assert;
import org.springframework.util.LinkedCaseInsensitiveMap; import org.springframework.util.LinkedCaseInsensitiveMap;
import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap; import org.springframework.util.MultiValueMap;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StreamUtils; import org.springframework.util.StreamUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
@@ -218,8 +217,6 @@ public class MockHttpServletRequest implements HttpServletRequest {
private Cookie[] cookies; private Cookie[] cookies;
private boolean cookieHeaderSet;
private final Map<String, HeaderValueHolder> headers = new LinkedCaseInsensitiveMap<>(); private final Map<String, HeaderValueHolder> headers = new LinkedCaseInsensitiveMap<>();
private String method; private String method;
@@ -931,7 +928,8 @@ public class MockHttpServletRequest implements HttpServletRequest {
public void setCookies(Cookie... cookies) { public void setCookies(Cookie... cookies) {
this.cookies = cookies; this.cookies = cookies;
if (!this.cookieHeaderSet && !ObjectUtils.isEmpty(cookies)) { this.headers.remove(HttpHeaders.COOKIE);
if (cookies != null) {
Arrays.stream(cookies) Arrays.stream(cookies)
.map(c -> c.getName() + '=' + (c.getValue() == null ? "" : c.getValue())) .map(c -> c.getName() + '=' + (c.getValue() == null ? "" : c.getValue()))
.forEach(value -> doAddHeaderValue(HttpHeaders.COOKIE, value, false)); .forEach(value -> doAddHeaderValue(HttpHeaders.COOKIE, value, false));
@@ -972,7 +970,6 @@ public class MockHttpServletRequest implements HttpServletRequest {
setPreferredLocales(headers.getAcceptLanguageAsLocales()); setPreferredLocales(headers.getAcceptLanguageAsLocales());
} }
else { else {
this.cookieHeaderSet = HttpHeaders.COOKIE.equalsIgnoreCase(name);
doAddHeaderValue(name, value, false); doAddHeaderValue(name, value, false);
} }
} }

View File

@@ -98,8 +98,6 @@ public class MockHttpServletResponse implements HttpServletResponse {
private final List<Cookie> cookies = new ArrayList<>(); private final List<Cookie> cookies = new ArrayList<>();
private boolean cookieHeaderSet;
private final Map<String, HeaderValueHolder> headers = new LinkedCaseInsensitiveMap<>(); private final Map<String, HeaderValueHolder> headers = new LinkedCaseInsensitiveMap<>();
private int status = HttpServletResponse.SC_OK; private int status = HttpServletResponse.SC_OK;
@@ -323,9 +321,7 @@ public class MockHttpServletResponse implements HttpServletResponse {
public void addCookie(Cookie cookie) { public void addCookie(Cookie cookie) {
Assert.notNull(cookie, "Cookie must not be null"); Assert.notNull(cookie, "Cookie must not be null");
this.cookies.add(cookie); this.cookies.add(cookie);
if (!this.cookieHeaderSet) { doAddHeaderValue(HttpHeaders.SET_COOKIE, getCookieHeader(cookie), false);
doAddHeaderValue(HttpHeaders.SET_COOKIE, getCookieHeader(cookie), false);
}
} }
private String getCookieHeader(Cookie cookie) { private String getCookieHeader(Cookie cookie) {
@@ -536,13 +532,11 @@ public class MockHttpServletResponse implements HttpServletResponse {
@Override @Override
public void setHeader(String name, String value) { public void setHeader(String name, String value) {
this.cookieHeaderSet = HttpHeaders.SET_COOKIE.equalsIgnoreCase(name);
setHeaderValue(name, value); setHeaderValue(name, value);
} }
@Override @Override
public void addHeader(String name, String value) { public void addHeader(String name, String value) {
this.cookieHeaderSet = HttpHeaders.SET_COOKIE.equalsIgnoreCase(name);
addHeaderValue(name, value); addHeaderValue(name, value);
} }