diff --git a/spring-web/src/main/java/org/springframework/http/client/reactive/JettyClientHttpConnector.java b/spring-web/src/main/java/org/springframework/http/client/reactive/JettyClientHttpConnector.java index 3fb96c4d8c0..8ee0f74ad30 100644 --- a/spring-web/src/main/java/org/springframework/http/client/reactive/JettyClientHttpConnector.java +++ b/spring-web/src/main/java/org/springframework/http/client/reactive/JettyClientHttpConnector.java @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.springframework.http.client.reactive; import java.net.URI; diff --git a/spring-web/src/main/java/org/springframework/http/client/reactive/JettyClientHttpRequest.java b/spring-web/src/main/java/org/springframework/http/client/reactive/JettyClientHttpRequest.java index b2a51b1681d..b7a847221ef 100644 --- a/spring-web/src/main/java/org/springframework/http/client/reactive/JettyClientHttpRequest.java +++ b/spring-web/src/main/java/org/springframework/http/client/reactive/JettyClientHttpRequest.java @@ -13,6 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.springframework.http.client.reactive; import java.net.HttpCookie; diff --git a/spring-web/src/main/java/org/springframework/http/client/reactive/JettyClientHttpResponse.java b/spring-web/src/main/java/org/springframework/http/client/reactive/JettyClientHttpResponse.java index 074c772ec24..447cbb39387 100644 --- a/spring-web/src/main/java/org/springframework/http/client/reactive/JettyClientHttpResponse.java +++ b/spring-web/src/main/java/org/springframework/http/client/reactive/JettyClientHttpResponse.java @@ -13,9 +13,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.springframework.http.client.reactive; import java.net.HttpCookie; +import java.util.List; import org.eclipse.jetty.reactive.client.ReactiveResponse; import org.reactivestreams.Publisher; @@ -65,16 +67,20 @@ class JettyClientHttpResponse implements ClientHttpResponse { @Override public MultiValueMap getCookies() { MultiValueMap result = new LinkedMultiValueMap<>(); - getHeaders().get(HttpHeaders.SET_COOKIE).forEach(header -> { - HttpCookie.parse(header).forEach(cookie -> result.add(cookie.getName(), ResponseCookie.from(cookie.getName(), cookie.getValue()) - .domain(cookie.getDomain()) - .path(cookie.getPath()) - .maxAge(cookie.getMaxAge()) - .secure(cookie.getSecure()) - .httpOnly(cookie.isHttpOnly()) - .build())); - - }); + List cookieHeader = getHeaders().get(HttpHeaders.SET_COOKIE); + if (cookieHeader != null) { + cookieHeader.forEach(header -> { + HttpCookie.parse(header) + .forEach(cookie -> result.add(cookie.getName(), + ResponseCookie.from(cookie.getName(), cookie.getValue()) + .domain(cookie.getDomain()) + .path(cookie.getPath()) + .maxAge(cookie.getMaxAge()) + .secure(cookie.getSecure()) + .httpOnly(cookie.isHttpOnly()) + .build())); + }); + } return CollectionUtils.unmodifiableMultiValueMap(result); } @@ -87,7 +93,7 @@ class JettyClientHttpResponse implements ClientHttpResponse { public HttpHeaders getHeaders() { HttpHeaders headers = new HttpHeaders(); this.reactiveResponse.getHeaders().stream() - .forEach(e -> headers.add(e.getName(), e.getValue())); + .forEach(field -> headers.add(field.getName(), field.getValue())); return headers; }