Browse Source

Copy cookies in built ServerResponse

Closes gh-22481
pull/22689/head
Arjen Poutsma 7 years ago
parent
commit
0db317575b
  1. 1
      spring-webmvc/src/main/java/org/springframework/web/servlet/function/DefaultServerResponseBuilder.java
  2. 7
      spring-webmvc/src/test/java/org/springframework/web/servlet/function/DefaultServerResponseBuilderTests.java

1
spring-webmvc/src/main/java/org/springframework/web/servlet/function/DefaultServerResponseBuilder.java

@ -70,6 +70,7 @@ class DefaultServerResponseBuilder implements ServerResponse.BodyBuilder { @@ -70,6 +70,7 @@ class DefaultServerResponseBuilder implements ServerResponse.BodyBuilder {
this.statusCode = (other instanceof AbstractServerResponse ?
((AbstractServerResponse) other).statusCode : other.statusCode().value());
this.headers.addAll(other.headers());
this.cookies.addAll(other.cookies());
}
public DefaultServerResponseBuilder(HttpStatus status) {

7
spring-webmvc/src/test/java/org/springframework/web/servlet/function/DefaultServerResponseBuilderTests.java

@ -71,10 +71,15 @@ public class DefaultServerResponseBuilderTests { @@ -71,10 +71,15 @@ public class DefaultServerResponseBuilderTests {
@Test
public void from() {
ServerResponse other = ServerResponse.ok().header("foo", "bar").build();
Cookie cookie = new Cookie("foo", "bar");
ServerResponse other = ServerResponse.ok()
.header("foo", "bar")
.cookie(cookie)
.build();
ServerResponse result = ServerResponse.from(other).build();
assertEquals(HttpStatus.OK, result.statusCode());
assertEquals("bar", result.headers().getFirst("foo"));
assertEquals(cookie, result.cookies().getFirst("foo"));
}

Loading…
Cancel
Save