From b8c12a3aa116e976dccd421ba642c5614b37bbe5 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Mon, 14 Sep 2020 22:59:46 +0200 Subject: [PATCH] Upgrade to Undertow 2.2 (and R2DBC Arabba-SR7) --- build.gradle | 4 ++-- .../http/server/reactive/UndertowServerHttpRequest.java | 2 ++ .../http/server/reactive/UndertowServerHttpResponse.java | 2 ++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 4dc15ceb58..f25893cd4b 100644 --- a/build.gradle +++ b/build.gradle @@ -26,7 +26,7 @@ configure(allprojects) { project -> mavenBom "com.fasterxml.jackson:jackson-bom:2.11.2" mavenBom "io.netty:netty-bom:4.1.51.Final" mavenBom "io.projectreactor:reactor-bom:2020.0.0-RC1" - mavenBom "io.r2dbc:r2dbc-bom:Arabba-SR6" + mavenBom "io.r2dbc:r2dbc-bom:Arabba-SR7" mavenBom "io.rsocket:rsocket-bom:1.1.0-M2" mavenBom "org.eclipse.jetty:jetty-bom:9.4.31.v20200723" mavenBom "org.jetbrains.kotlin:kotlin-bom:1.4.0" @@ -133,7 +133,7 @@ configure(allprojects) { project -> entry 'tomcat-embed-core' entry 'tomcat-embed-websocket' } - dependencySet(group: 'io.undertow', version: '2.1.3.Final') { + dependencySet(group: 'io.undertow', version: '2.2.0.Final') { entry 'undertow-core' entry('undertow-websockets-jsr') { exclude group: "org.jboss.spec.javax.websocket", name: "jboss-websocket-api_1.1_spec" diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/UndertowServerHttpRequest.java b/spring-web/src/main/java/org/springframework/http/server/reactive/UndertowServerHttpRequest.java index 030ac903b5..22a941789f 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/UndertowServerHttpRequest.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/UndertowServerHttpRequest.java @@ -77,9 +77,11 @@ class UndertowServerHttpRequest extends AbstractServerHttpRequest { return this.exchange.getRequestMethod().toString(); } + @SuppressWarnings("deprecation") @Override protected MultiValueMap initCookies() { MultiValueMap cookies = new LinkedMultiValueMap<>(); + // getRequestCookies() is deprecated in Undertow 2.2 for (String name : this.exchange.getRequestCookies().keySet()) { Cookie cookie = this.exchange.getRequestCookies().get(name); HttpCookie httpCookie = new HttpCookie(name, cookie.getValue()); diff --git a/spring-web/src/main/java/org/springframework/http/server/reactive/UndertowServerHttpResponse.java b/spring-web/src/main/java/org/springframework/http/server/reactive/UndertowServerHttpResponse.java index f20b4e6167..f30a63054e 100644 --- a/spring-web/src/main/java/org/springframework/http/server/reactive/UndertowServerHttpResponse.java +++ b/spring-web/src/main/java/org/springframework/http/server/reactive/UndertowServerHttpResponse.java @@ -104,6 +104,7 @@ class UndertowServerHttpResponse extends AbstractListenerServerHttpResponse impl protected void applyHeaders() { } + @SuppressWarnings("deprecation") @Override protected void applyCookies() { for (String name : getCookies().keySet()) { @@ -121,6 +122,7 @@ class UndertowServerHttpResponse extends AbstractListenerServerHttpResponse impl cookie.setSecure(httpCookie.isSecure()); cookie.setHttpOnly(httpCookie.isHttpOnly()); cookie.setSameSiteMode(httpCookie.getSameSite()); + // getResponseCookies() is deprecated in Undertow 2.2 this.exchange.getResponseCookies().putIfAbsent(name, cookie); } }