diff --git a/docs/pom.xml b/docs/pom.xml index 86076b113..424cc4b99 100644 --- a/docs/pom.xml +++ b/docs/pom.xml @@ -8,7 +8,7 @@ org.springframework.cloud spring-cloud-function-parent - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT jar Spring Cloud Function Docs diff --git a/pom.xml b/pom.xml index 792f480e9..4b489d818 100644 --- a/pom.xml +++ b/pom.xml @@ -6,13 +6,13 @@ spring-cloud-function-parent Spring Cloud Function Parent - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT pom org.springframework.cloud spring-cloud-build - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT diff --git a/spring-cloud-function-adapters/pom.xml b/spring-cloud-function-adapters/pom.xml index 19b71d742..b5b698040 100644 --- a/spring-cloud-function-adapters/pom.xml +++ b/spring-cloud-function-adapters/pom.xml @@ -10,7 +10,7 @@ org.springframework.cloud spring-cloud-function-parent - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT spring-cloud-function-adapter-parent diff --git a/spring-cloud-function-adapters/spring-cloud-function-adapter-aws/pom.xml b/spring-cloud-function-adapters/spring-cloud-function-adapter-aws/pom.xml index 21cc96285..eeddf4d8c 100644 --- a/spring-cloud-function-adapters/spring-cloud-function-adapter-aws/pom.xml +++ b/spring-cloud-function-adapters/spring-cloud-function-adapter-aws/pom.xml @@ -13,7 +13,7 @@ org.springframework.cloud spring-cloud-function-adapter-parent - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT diff --git a/spring-cloud-function-adapters/spring-cloud-function-adapter-aws/src/main/java/org/springframework/cloud/function/adapter/aws/CustomRuntimeEventLoop.java b/spring-cloud-function-adapters/spring-cloud-function-adapter-aws/src/main/java/org/springframework/cloud/function/adapter/aws/CustomRuntimeEventLoop.java index 0b55bc283..36df9beea 100644 --- a/spring-cloud-function-adapters/spring-cloud-function-adapter-aws/src/main/java/org/springframework/cloud/function/adapter/aws/CustomRuntimeEventLoop.java +++ b/spring-cloud-function-adapters/spring-cloud-function-adapter-aws/src/main/java/org/springframework/cloud/function/adapter/aws/CustomRuntimeEventLoop.java @@ -179,7 +179,7 @@ public final class CustomRuntimeEventLoop implements SmartLifecycle { @Override public int getRemainingTimeInMillis() { long now = System.currentTimeMillis(); - if (!headers.containsKey("Lambda-Runtime-Deadline-Ms")) { + if (!headers.containsHeader("Lambda-Runtime-Deadline-Ms")) { return 0; } int delta = (int) (Long.parseLong(headers.getFirst("Lambda-Runtime-Deadline-Ms")) - now); diff --git a/spring-cloud-function-adapters/spring-cloud-function-adapter-azure-web/pom.xml b/spring-cloud-function-adapters/spring-cloud-function-adapter-azure-web/pom.xml index bbeeafd39..62f355193 100644 --- a/spring-cloud-function-adapters/spring-cloud-function-adapter-azure-web/pom.xml +++ b/spring-cloud-function-adapters/spring-cloud-function-adapter-azure-web/pom.xml @@ -9,7 +9,7 @@ org.springframework.cloud spring-cloud-function-adapter-parent - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT UTF-8 diff --git a/spring-cloud-function-adapters/spring-cloud-function-adapter-azure/pom.xml b/spring-cloud-function-adapters/spring-cloud-function-adapter-azure/pom.xml index 7fcf06dff..a0a080214 100644 --- a/spring-cloud-function-adapters/spring-cloud-function-adapter-azure/pom.xml +++ b/spring-cloud-function-adapters/spring-cloud-function-adapter-azure/pom.xml @@ -12,7 +12,7 @@ org.springframework.cloud spring-cloud-function-adapter-parent - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT diff --git a/spring-cloud-function-adapters/spring-cloud-function-adapter-gcp/pom.xml b/spring-cloud-function-adapters/spring-cloud-function-adapter-gcp/pom.xml index b95fc3f17..487dfbdbd 100644 --- a/spring-cloud-function-adapters/spring-cloud-function-adapter-gcp/pom.xml +++ b/spring-cloud-function-adapters/spring-cloud-function-adapter-gcp/pom.xml @@ -11,7 +11,7 @@ spring-cloud-function-adapter-parent org.springframework.cloud - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT diff --git a/spring-cloud-function-adapters/spring-cloud-function-aws-gradle-parent/org.springframework.cloud.function.aws-lambda.packaging.gradle.plugin/pom.xml b/spring-cloud-function-adapters/spring-cloud-function-aws-gradle-parent/org.springframework.cloud.function.aws-lambda.packaging.gradle.plugin/pom.xml index 9c708bac6..b5b155456 100644 --- a/spring-cloud-function-adapters/spring-cloud-function-aws-gradle-parent/org.springframework.cloud.function.aws-lambda.packaging.gradle.plugin/pom.xml +++ b/spring-cloud-function-adapters/spring-cloud-function-aws-gradle-parent/org.springframework.cloud.function.aws-lambda.packaging.gradle.plugin/pom.xml @@ -10,7 +10,7 @@ org.springframework.cloud.function.aws-lambda.packaging spring-cloud-function-aws-gradle-parent - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT ${basedir}/../.. diff --git a/spring-cloud-function-adapters/spring-cloud-function-aws-gradle-parent/spring-cloud-function-aws-packaging-gradle-plugin/pom.xml b/spring-cloud-function-adapters/spring-cloud-function-aws-gradle-parent/spring-cloud-function-aws-packaging-gradle-plugin/pom.xml index 910d99d0e..36005c1aa 100644 --- a/spring-cloud-function-adapters/spring-cloud-function-aws-gradle-parent/spring-cloud-function-aws-packaging-gradle-plugin/pom.xml +++ b/spring-cloud-function-adapters/spring-cloud-function-aws-gradle-parent/spring-cloud-function-aws-packaging-gradle-plugin/pom.xml @@ -13,7 +13,7 @@ org.springframework.cloud.function.aws-lambda.packaging spring-cloud-function-aws-gradle-parent - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT diff --git a/spring-cloud-function-adapters/spring-cloud-function-grpc-cloudevent-ext/pom.xml b/spring-cloud-function-adapters/spring-cloud-function-grpc-cloudevent-ext/pom.xml index 43b3d283a..8da20a47b 100644 --- a/spring-cloud-function-adapters/spring-cloud-function-grpc-cloudevent-ext/pom.xml +++ b/spring-cloud-function-adapters/spring-cloud-function-grpc-cloudevent-ext/pom.xml @@ -5,7 +5,7 @@ org.springframework.cloud spring-cloud-function-adapter-parent - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT spring-cloud-function-grpc-cloudevent-ext spring-cloud-function-grpc-cloudevent-ext diff --git a/spring-cloud-function-adapters/spring-cloud-function-grpc/pom.xml b/spring-cloud-function-adapters/spring-cloud-function-grpc/pom.xml index 014370827..161bf675b 100644 --- a/spring-cloud-function-adapters/spring-cloud-function-grpc/pom.xml +++ b/spring-cloud-function-adapters/spring-cloud-function-grpc/pom.xml @@ -10,7 +10,7 @@ org.springframework.cloud spring-cloud-function-adapter-parent - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT 1.55.1 diff --git a/spring-cloud-function-adapters/spring-cloud-function-serverless-web/pom.xml b/spring-cloud-function-adapters/spring-cloud-function-serverless-web/pom.xml index cb43c8b36..6d69207c4 100644 --- a/spring-cloud-function-adapters/spring-cloud-function-serverless-web/pom.xml +++ b/spring-cloud-function-adapters/spring-cloud-function-serverless-web/pom.xml @@ -10,7 +10,7 @@ org.springframework.cloud spring-cloud-function-adapter-parent - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT UTF-8 diff --git a/spring-cloud-function-adapters/spring-cloud-function-serverless-web/src/main/java/org/springframework/cloud/function/serverless/web/ServerlessHttpServletRequest.java b/spring-cloud-function-adapters/spring-cloud-function-serverless-web/src/main/java/org/springframework/cloud/function/serverless/web/ServerlessHttpServletRequest.java index cdd9bd12e..637105145 100644 --- a/spring-cloud-function-adapters/spring-cloud-function-serverless-web/src/main/java/org/springframework/cloud/function/serverless/web/ServerlessHttpServletRequest.java +++ b/spring-cloud-function-adapters/spring-cloud-function-serverless-web/src/main/java/org/springframework/cloud/function/serverless/web/ServerlessHttpServletRequest.java @@ -279,7 +279,7 @@ public class ServerlessHttpServletRequest implements HttpServletRequest { @Override @Nullable public String getContentType() { - return this.headers.containsKey(HttpHeaders.CONTENT_TYPE) ? this.headers.get(HttpHeaders.CONTENT_TYPE).get(0) : null; + return this.headers.containsHeader(HttpHeaders.CONTENT_TYPE) ? this.headers.get(HttpHeaders.CONTENT_TYPE).get(0) : null; } @Override @@ -713,17 +713,17 @@ public class ServerlessHttpServletRequest implements HttpServletRequest { @Override @Nullable public String getHeader(String name) { - return this.headers.containsKey(name) ? this.headers.get(name).get(0) : null; + return this.headers.containsHeader(name) ? this.headers.get(name).get(0) : null; } @Override public Enumeration getHeaders(String name) { - return Collections.enumeration(this.headers.containsKey(name) ? this.headers.get(name) : new LinkedList<>()); + return Collections.enumeration(this.headers.containsHeader(name) ? this.headers.get(name) : new LinkedList<>()); } @Override public Enumeration getHeaderNames() { - return Collections.enumeration(this.headers.keySet()); + return Collections.enumeration(this.headers.headerNames()); } public void setHeader(String name, @Nullable String value) { @@ -735,7 +735,7 @@ public class ServerlessHttpServletRequest implements HttpServletRequest { } public void addHeaders(MultiValueMap headers) { - this.headers.addAll(headers); + this.headers.addAll(new HttpHeaders(headers)); } public void setHeaders(MultiValueMap headers) { diff --git a/spring-cloud-function-adapters/spring-cloud-function-serverless-web/src/main/java/org/springframework/cloud/function/serverless/web/ServerlessHttpServletResponse.java b/spring-cloud-function-adapters/spring-cloud-function-serverless-web/src/main/java/org/springframework/cloud/function/serverless/web/ServerlessHttpServletResponse.java index 479d56911..2da0c8328 100644 --- a/spring-cloud-function-adapters/spring-cloud-function-serverless-web/src/main/java/org/springframework/cloud/function/serverless/web/ServerlessHttpServletResponse.java +++ b/spring-cloud-function-adapters/spring-cloud-function-serverless-web/src/main/java/org/springframework/cloud/function/serverless/web/ServerlessHttpServletResponse.java @@ -217,7 +217,7 @@ public class ServerlessHttpServletResponse implements HttpServletResponse { @Override public boolean containsHeader(String name) { - return this.headers.containsKey(name); + return this.headers.containsHeader(name); } /** @@ -231,7 +231,7 @@ public class ServerlessHttpServletResponse implements HttpServletResponse { */ @Override public Collection getHeaderNames() { - return this.headers.keySet(); + return this.headers.headerNames(); } /** @@ -249,7 +249,7 @@ public class ServerlessHttpServletResponse implements HttpServletResponse { @Override @Nullable public String getHeader(String name) { - return this.headers.containsKey(name) ? this.headers.get(name).get(0) : null; + return this.headers.containsHeader(name) ? this.headers.get(name).get(0) : null; } /** @@ -265,7 +265,7 @@ public class ServerlessHttpServletResponse implements HttpServletResponse { */ @Override public List getHeaders(String name) { - if (!this.headers.containsKey(name)) { + if (!this.headers.containsHeader(name)) { return Collections.emptyList(); } return this.headers.get(name); @@ -281,7 +281,7 @@ public class ServerlessHttpServletResponse implements HttpServletResponse { */ @Nullable public Object getHeaderValue(String name) { - return this.headers.containsKey(name) ? this.headers.get(name).get(0) : null; + return this.headers.containsHeader(name) ? this.headers.get(name).get(0) : null; } /** @@ -329,6 +329,15 @@ public class ServerlessHttpServletResponse implements HttpServletResponse { setStatus(HttpServletResponse.SC_MOVED_TEMPORARILY); } + @Override + public void sendRedirect(String location, int statusCode, boolean clearBuffer) throws IOException { + Assert.state(!isCommitted(), "Cannot send redirect - response is already committed"); + Assert.notNull(location, "Redirect URL must not be null"); + setHeader(HttpHeaders.LOCATION, location); + setStatus(statusCode); + //TODO: deal with clearBuffer + } + @Nullable public String getRedirectedUrl() { return getHeader(HttpHeaders.LOCATION); diff --git a/spring-cloud-function-context/pom.xml b/spring-cloud-function-context/pom.xml index ceb108494..ca143a74b 100644 --- a/spring-cloud-function-context/pom.xml +++ b/spring-cloud-function-context/pom.xml @@ -12,7 +12,7 @@ org.springframework.cloud spring-cloud-function-parent - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT diff --git a/spring-cloud-function-core/pom.xml b/spring-cloud-function-core/pom.xml index 1cc5203cc..5534bda58 100644 --- a/spring-cloud-function-core/pom.xml +++ b/spring-cloud-function-core/pom.xml @@ -12,7 +12,7 @@ org.springframework.cloud spring-cloud-function-parent - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT diff --git a/spring-cloud-function-dependencies/pom.xml b/spring-cloud-function-dependencies/pom.xml index 1ee6c54f4..6b3f73b80 100644 --- a/spring-cloud-function-dependencies/pom.xml +++ b/spring-cloud-function-dependencies/pom.xml @@ -6,11 +6,11 @@ spring-cloud-dependencies-parent org.springframework.cloud - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT spring-cloud-function-dependencies - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT pom Spring Cloud Function Dependencies Spring Cloud Function Dependencies diff --git a/spring-cloud-function-deployer/pom.xml b/spring-cloud-function-deployer/pom.xml index 0e3a651b5..2a086f812 100644 --- a/spring-cloud-function-deployer/pom.xml +++ b/spring-cloud-function-deployer/pom.xml @@ -10,7 +10,7 @@ org.springframework.cloud spring-cloud-function-parent - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT diff --git a/spring-cloud-function-deployer/src/it/bootapp-multi/pom.xml b/spring-cloud-function-deployer/src/it/bootapp-multi/pom.xml index 8ad6e52f3..b1db4c27c 100644 --- a/spring-cloud-function-deployer/src/it/bootapp-multi/pom.xml +++ b/spring-cloud-function-deployer/src/it/bootapp-multi/pom.xml @@ -18,7 +18,7 @@ 17 - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT 1.0.31.RELEASE diff --git a/spring-cloud-function-deployer/src/it/bootapp-with-javax/pom.xml b/spring-cloud-function-deployer/src/it/bootapp-with-javax/pom.xml index b4819cb59..516e730cf 100644 --- a/spring-cloud-function-deployer/src/it/bootapp-with-javax/pom.xml +++ b/spring-cloud-function-deployer/src/it/bootapp-with-javax/pom.xml @@ -18,7 +18,7 @@ 17 - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT 1.0.31.RELEASE diff --git a/spring-cloud-function-deployer/src/it/bootapp-with-scf/pom.xml b/spring-cloud-function-deployer/src/it/bootapp-with-scf/pom.xml index b5f552b68..fc8756fd5 100644 --- a/spring-cloud-function-deployer/src/it/bootapp-with-scf/pom.xml +++ b/spring-cloud-function-deployer/src/it/bootapp-with-scf/pom.xml @@ -18,7 +18,7 @@ 17 - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT 1.0.31.RELEASE diff --git a/spring-cloud-function-deployer/src/it/bootapp/pom.xml b/spring-cloud-function-deployer/src/it/bootapp/pom.xml index a98c8563a..259cbc0e7 100644 --- a/spring-cloud-function-deployer/src/it/bootapp/pom.xml +++ b/spring-cloud-function-deployer/src/it/bootapp/pom.xml @@ -18,7 +18,7 @@ 17 - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT 1.0.31.RELEASE diff --git a/spring-cloud-function-deployer/src/it/bootjar-multi/pom.xml b/spring-cloud-function-deployer/src/it/bootjar-multi/pom.xml index c18506ba7..6a00111fa 100644 --- a/spring-cloud-function-deployer/src/it/bootjar-multi/pom.xml +++ b/spring-cloud-function-deployer/src/it/bootjar-multi/pom.xml @@ -18,7 +18,7 @@ 17 - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT 1.0.31.RELEASE diff --git a/spring-cloud-function-deployer/src/it/bootjar/pom.xml b/spring-cloud-function-deployer/src/it/bootjar/pom.xml index 73c6ce8bb..c41c8521e 100644 --- a/spring-cloud-function-deployer/src/it/bootjar/pom.xml +++ b/spring-cloud-function-deployer/src/it/bootjar/pom.xml @@ -18,7 +18,7 @@ 17 - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT 1.0.31.RELEASE diff --git a/spring-cloud-function-deployer/src/it/bootjarnostart/pom.xml b/spring-cloud-function-deployer/src/it/bootjarnostart/pom.xml index 8323db076..d6fa20553 100644 --- a/spring-cloud-function-deployer/src/it/bootjarnostart/pom.xml +++ b/spring-cloud-function-deployer/src/it/bootjarnostart/pom.xml @@ -18,7 +18,7 @@ 17 - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT 1.0.31.RELEASE diff --git a/spring-cloud-function-integration/pom.xml b/spring-cloud-function-integration/pom.xml index 554c52c13..45a83da9c 100644 --- a/spring-cloud-function-integration/pom.xml +++ b/spring-cloud-function-integration/pom.xml @@ -12,7 +12,7 @@ spring-cloud-function-parent org.springframework.cloud - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT diff --git a/spring-cloud-function-kotlin/pom.xml b/spring-cloud-function-kotlin/pom.xml index 29e477d81..d3bc48727 100644 --- a/spring-cloud-function-kotlin/pom.xml +++ b/spring-cloud-function-kotlin/pom.xml @@ -12,7 +12,7 @@ org.springframework.cloud spring-cloud-function-parent - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT diff --git a/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/KotlinLambdasConfiguration.kt b/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/KotlinLambdasConfiguration.kt index a324131fc..c248f135b 100644 --- a/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/KotlinLambdasConfiguration.kt +++ b/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/KotlinLambdasConfiguration.kt @@ -34,7 +34,7 @@ open class KotlinLambdasConfiguration { open fun uppercase(): Function = KotlinComponentFunction() @Bean open fun kotlinFunction(): (String) -> String { - return { it.toUpperCase() } + return { it.uppercase() } } @Bean diff --git a/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/KotlinSuspendFlowLambdasConfiguration.kt b/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/KotlinSuspendFlowLambdasConfiguration.kt index bfa7e3102..0131698db 100644 --- a/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/KotlinSuspendFlowLambdasConfiguration.kt +++ b/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/KotlinSuspendFlowLambdasConfiguration.kt @@ -36,7 +36,7 @@ open class KotlinSuspendFlowLambdasConfiguration { @Bean open fun kotlinFunction(): suspend (Flow) -> Flow = { flow -> - flow.map { value -> value.toUpperCase() } + flow.map { value -> value.uppercase() } } @Bean diff --git a/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/web/HeadersToMessageSuspendTests.kt b/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/web/HeadersToMessageSuspendTests.kt index 85ad7f68f..9dd2d2349 100644 --- a/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/web/HeadersToMessageSuspendTests.kt +++ b/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/web/HeadersToMessageSuspendTests.kt @@ -56,7 +56,7 @@ open class HeadersToMessageSuspendTests { ) Assertions.assertThat(postForEntity.body).isEqualTo("[{\"name\":\"Bob\",\"age\":25}]") - Assertions.assertThat(postForEntity.headers.containsKey("x-content-type")).isTrue + Assertions.assertThat(postForEntity.headers.headerNames()).contains("x-content-type") Assertions.assertThat(postForEntity.headers["x-content-type"]!![0]) .isEqualTo("application/xml") Assertions.assertThat(postForEntity.headers["foo"]!![0]).isEqualTo("bar") @@ -67,7 +67,7 @@ open class HeadersToMessageSuspendTests { "HELLO", String::class.java ) Assertions.assertThat(postForEntity.body).isEqualTo("[\"HELLO\"]") - Assertions.assertThat(postForEntity.headers.containsKey("x-content-type")).isTrue + Assertions.assertThat(postForEntity.headers.headerNames()).contains("x-content-type") Assertions.assertThat(postForEntity.headers["x-content-type"]!![0]) .isEqualTo("application/xml") Assertions.assertThat(postForEntity.headers["foo"]!![0]).isEqualTo("bar") diff --git a/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/web/HeadersToMessageTests.kt b/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/web/HeadersToMessageTests.kt index 02f1c170d..68214d4f7 100644 --- a/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/web/HeadersToMessageTests.kt +++ b/spring-cloud-function-kotlin/src/test/kotlin/org/springframework/cloud/function/kotlin/web/HeadersToMessageTests.kt @@ -55,7 +55,7 @@ open class HeadersToMessageTests { .body("{\"name\":\"Bob\",\"age\":25}"), String::class.java ) Assertions.assertThat(postForEntity.body).isEqualTo("{\"name\":\"Bob\",\"age\":25}") - Assertions.assertThat(postForEntity.headers.containsKey("x-content-type")).isTrue + Assertions.assertThat(postForEntity.headers.headerNames()).contains("x-content-type") Assertions.assertThat(postForEntity.headers["x-content-type"]!![0]) .isEqualTo("application/xml") Assertions.assertThat(postForEntity.headers["foo"]!![0]).isEqualTo("bar") @@ -66,7 +66,7 @@ open class HeadersToMessageTests { "{\"name\":\"Bob\",\"age\":25}", String::class.java ) Assertions.assertThat(postForEntity.body).isEqualTo("{\"name\":\"Bob\",\"age\":25}") - Assertions.assertThat(postForEntity.headers.containsKey("x-content-type")).isTrue + Assertions.assertThat(postForEntity.headers.headerNames().contains("x-content-type")) Assertions.assertThat(postForEntity.headers["x-content-type"]!![0]) .isEqualTo("application/xml") Assertions.assertThat(postForEntity.headers["foo"]!![0]).isEqualTo("bar") @@ -76,9 +76,9 @@ open class HeadersToMessageTests { @org.springframework.boot.test.context.TestConfiguration open class TestConfiguration { @Bean("string") - open fun functiono(): (message: Message) -> Message = { request: Message -> - val message = - MessageBuilder.withPayload(request.payload) + open fun functiono(): (message: Message) -> Message = { request: Message -> + val message: Message = + MessageBuilder.withPayload(request.payload as String) .setHeader("X-Content-Type", "application/xml") .setHeader("foo", "bar").build() message diff --git a/spring-cloud-function-rsocket/pom.xml b/spring-cloud-function-rsocket/pom.xml index 20f89375f..7c4d0e547 100644 --- a/spring-cloud-function-rsocket/pom.xml +++ b/spring-cloud-function-rsocket/pom.xml @@ -12,7 +12,7 @@ org.springframework.cloud spring-cloud-function-parent - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT diff --git a/spring-cloud-function-samples/function-functional-sample-aws/pom.xml b/spring-cloud-function-samples/function-functional-sample-aws/pom.xml index c3453fbf8..ed06a2a76 100644 --- a/spring-cloud-function-samples/function-functional-sample-aws/pom.xml +++ b/spring-cloud-function-samples/function-functional-sample-aws/pom.xml @@ -24,7 +24,7 @@ UTF-8 1.0.31.RELEASE 3.14.0 - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT diff --git a/spring-cloud-function-samples/function-sample-aws-custom-bean/pom.xml b/spring-cloud-function-samples/function-sample-aws-custom-bean/pom.xml index d39a1c09c..462932474 100644 --- a/spring-cloud-function-samples/function-sample-aws-custom-bean/pom.xml +++ b/spring-cloud-function-samples/function-sample-aws-custom-bean/pom.xml @@ -16,7 +16,7 @@ 1.0.31.RELEASE - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT diff --git a/spring-cloud-function-samples/function-sample-aws-custom/pom.xml b/spring-cloud-function-samples/function-sample-aws-custom/pom.xml index 27250dbab..ddf955f53 100644 --- a/spring-cloud-function-samples/function-sample-aws-custom/pom.xml +++ b/spring-cloud-function-samples/function-sample-aws-custom/pom.xml @@ -16,7 +16,7 @@ 1.0.31.RELEASE - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT diff --git a/spring-cloud-function-samples/function-sample-aws-routing/pom.xml b/spring-cloud-function-samples/function-sample-aws-routing/pom.xml index 77f680f78..c54deed11 100644 --- a/spring-cloud-function-samples/function-sample-aws-routing/pom.xml +++ b/spring-cloud-function-samples/function-sample-aws-routing/pom.xml @@ -24,7 +24,7 @@ UTF-8 1.0.31.RELEASE 3.14.0 - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT diff --git a/spring-cloud-function-samples/function-sample-aws/pom.xml b/spring-cloud-function-samples/function-sample-aws/pom.xml index a754ad037..aa2cb0ca1 100644 --- a/spring-cloud-function-samples/function-sample-aws/pom.xml +++ b/spring-cloud-function-samples/function-sample-aws/pom.xml @@ -24,7 +24,7 @@ UTF-8 1.0.31.RELEASE 3.14.0 - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT diff --git a/spring-cloud-function-samples/function-sample-cloudevent-rsocket/pom.xml b/spring-cloud-function-samples/function-sample-cloudevent-rsocket/pom.xml index 65e854ed6..3a5c0395e 100644 --- a/spring-cloud-function-samples/function-sample-cloudevent-rsocket/pom.xml +++ b/spring-cloud-function-samples/function-sample-cloudevent-rsocket/pom.xml @@ -16,7 +16,7 @@ - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT 1.0.31.RELEASE diff --git a/spring-cloud-function-samples/function-sample-cloudevent-sdk/pom.xml b/spring-cloud-function-samples/function-sample-cloudevent-sdk/pom.xml index b17585d26..5917fb153 100644 --- a/spring-cloud-function-samples/function-sample-cloudevent-sdk/pom.xml +++ b/spring-cloud-function-samples/function-sample-cloudevent-sdk/pom.xml @@ -16,7 +16,7 @@ - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT 1.0.31.RELEASE diff --git a/spring-cloud-function-samples/function-sample-cloudevent-stream/pom.xml b/spring-cloud-function-samples/function-sample-cloudevent-stream/pom.xml index 4d2e26994..ff831c774 100644 --- a/spring-cloud-function-samples/function-sample-cloudevent-stream/pom.xml +++ b/spring-cloud-function-samples/function-sample-cloudevent-stream/pom.xml @@ -16,7 +16,7 @@ - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT 1.0.31.RELEASE diff --git a/spring-cloud-function-samples/function-sample-cloudevent/pom.xml b/spring-cloud-function-samples/function-sample-cloudevent/pom.xml index 2311ff15b..8c7bfb36c 100644 --- a/spring-cloud-function-samples/function-sample-cloudevent/pom.xml +++ b/spring-cloud-function-samples/function-sample-cloudevent/pom.xml @@ -16,7 +16,7 @@ - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT 1.0.31.RELEASE diff --git a/spring-cloud-function-samples/function-sample-functional-aws-routing/pom.xml b/spring-cloud-function-samples/function-sample-functional-aws-routing/pom.xml index 80e04401c..2ecf38ac6 100644 --- a/spring-cloud-function-samples/function-sample-functional-aws-routing/pom.xml +++ b/spring-cloud-function-samples/function-sample-functional-aws-routing/pom.xml @@ -24,7 +24,7 @@ UTF-8 1.0.31.RELEASE 3.14.0 - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT diff --git a/spring-cloud-function-samples/function-sample-gcp-http/pom.xml b/spring-cloud-function-samples/function-sample-gcp-http/pom.xml index 463cb27f0..e73502d93 100644 --- a/spring-cloud-function-samples/function-sample-gcp-http/pom.xml +++ b/spring-cloud-function-samples/function-sample-gcp-http/pom.xml @@ -20,7 +20,7 @@ - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT diff --git a/spring-cloud-function-samples/function-sample-grpc-cloudevent/pom.xml b/spring-cloud-function-samples/function-sample-grpc-cloudevent/pom.xml index c81a3c32f..ce30d8709 100644 --- a/spring-cloud-function-samples/function-sample-grpc-cloudevent/pom.xml +++ b/spring-cloud-function-samples/function-sample-grpc-cloudevent/pom.xml @@ -16,7 +16,7 @@ function-sample-grpc-cloudevent Demo project for Spring Boot - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT 1.55.1 diff --git a/spring-cloud-function-samples/function-sample-pof/pom.xml b/spring-cloud-function-samples/function-sample-pof/pom.xml index ff9b98525..20323fa3a 100644 --- a/spring-cloud-function-samples/function-sample-pof/pom.xml +++ b/spring-cloud-function-samples/function-sample-pof/pom.xml @@ -21,7 +21,7 @@ UTF-8 UTF-8 3.1.2.RELEASE - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT diff --git a/spring-cloud-function-samples/function-sample-pojo/pom.xml b/spring-cloud-function-samples/function-sample-pojo/pom.xml index e0c4e19aa..16d8a4fcf 100644 --- a/spring-cloud-function-samples/function-sample-pojo/pom.xml +++ b/spring-cloud-function-samples/function-sample-pojo/pom.xml @@ -19,7 +19,7 @@ - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT 1.0.31.RELEASE diff --git a/spring-cloud-function-samples/function-sample-spring-integration/pom.xml b/spring-cloud-function-samples/function-sample-spring-integration/pom.xml index 59d680728..a5895a42a 100644 --- a/spring-cloud-function-samples/function-sample-spring-integration/pom.xml +++ b/spring-cloud-function-samples/function-sample-spring-integration/pom.xml @@ -20,7 +20,7 @@ UTF-8 UTF-8 17 - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT diff --git a/spring-cloud-function-samples/function-sample-supplier-exporter/pom.xml b/spring-cloud-function-samples/function-sample-supplier-exporter/pom.xml index f9c1133b2..6fa68ec68 100644 --- a/spring-cloud-function-samples/function-sample-supplier-exporter/pom.xml +++ b/spring-cloud-function-samples/function-sample-supplier-exporter/pom.xml @@ -19,7 +19,7 @@ - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT diff --git a/spring-cloud-function-samples/function-sample/pom.xml b/spring-cloud-function-samples/function-sample/pom.xml index da953ab28..3546698b4 100644 --- a/spring-cloud-function-samples/function-sample/pom.xml +++ b/spring-cloud-function-samples/function-sample/pom.xml @@ -19,7 +19,7 @@ - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT 1.0.31.RELEASE diff --git a/spring-cloud-function-samples/pom.xml b/spring-cloud-function-samples/pom.xml index 6c63d1b81..60495db4c 100644 --- a/spring-cloud-function-samples/pom.xml +++ b/spring-cloud-function-samples/pom.xml @@ -11,7 +11,7 @@ org.springframework.cloud spring-cloud-function-parent - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT diff --git a/spring-cloud-function-web/pom.xml b/spring-cloud-function-web/pom.xml index 1c196001e..27e3add56 100644 --- a/spring-cloud-function-web/pom.xml +++ b/spring-cloud-function-web/pom.xml @@ -12,7 +12,7 @@ org.springframework.cloud spring-cloud-function-parent - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT diff --git a/spring-cloud-function-web/src/main/java/org/springframework/cloud/function/web/mvc/FunctionController.java b/spring-cloud-function-web/src/main/java/org/springframework/cloud/function/web/mvc/FunctionController.java index f0e5ee673..222cd9401 100644 --- a/spring-cloud-function-web/src/main/java/org/springframework/cloud/function/web/mvc/FunctionController.java +++ b/spring-cloud-function-web/src/main/java/org/springframework/cloud/function/web/mvc/FunctionController.java @@ -81,7 +81,7 @@ public class FunctionController { .getRequest()).getMultiFileMap(); if (!CollectionUtils.isEmpty(multiFileMap)) { List> files = multiFileMap.values().stream().flatMap(v -> v.stream()) - .map(file -> MessageBuilder.withPayload(file).copyHeaders(wrapper.getHeaders()).build()) + .map(file -> MessageBuilder.withPayload(file).copyHeaders(wrapper.getHeaders().asMultiValueMap()).build()) .collect(Collectors.toList()); FunctionInvocationWrapper function = wrapper.getFunction(); @@ -199,7 +199,7 @@ public class FunctionController { wrapper.getHeaders().addAll(key, Arrays.asList(request.getHeaderValues(key))); } - HttpHeaders headers = HttpHeaders.writableHttpHeaders(wrapper.getHeaders()); + HttpHeaders headers = HttpHeaders.copyOf(wrapper.getHeaders()); headers.set("uri", ((ServletWebRequest) request).getRequest().getRequestURI()); String argument = (String) request.getAttribute(WebRequestConstants.ARGUMENT, diff --git a/spring-cloud-function-web/src/main/java/org/springframework/cloud/function/web/source/HttpSupplier.java b/spring-cloud-function-web/src/main/java/org/springframework/cloud/function/web/source/HttpSupplier.java index 84574187e..2e383e5a2 100644 --- a/spring-cloud-function-web/src/main/java/org/springframework/cloud/function/web/source/HttpSupplier.java +++ b/spring-cloud-function-web/src/main/java/org/springframework/cloud/function/web/source/HttpSupplier.java @@ -65,8 +65,8 @@ public class HttpSupplier implements Supplier> { } private Flux get(WebClient client) { - Flux result = client.get().uri(this.props.getSource().getUrl()).exchange() - .flatMap(this::transform).repeat(); + Flux result = client.get().uri(this.props.getSource().getUrl()).exchangeToMono(this::transform) + .repeat(); if (this.props.isDebug()) { result = result.log(); } diff --git a/spring-cloud-function-web/src/main/java/org/springframework/cloud/function/web/source/SupplierExporter.java b/spring-cloud-function-web/src/main/java/org/springframework/cloud/function/web/source/SupplierExporter.java index 8a24e8455..18cb3b1fd 100644 --- a/spring-cloud-function-web/src/main/java/org/springframework/cloud/function/web/source/SupplierExporter.java +++ b/spring-cloud-function-web/src/main/java/org/springframework/cloud/function/web/source/SupplierExporter.java @@ -192,11 +192,11 @@ public class SupplierExporter implements SmartLifecycle { } Mono result = this.client.post().uri(uri) .headers(headers -> headers(headers, destination, value)).bodyValue(body) - .exchange() - .doOnNext(response -> { + .exchangeToMono(response -> { if (this.debug) { logger.debug("Response STATUS: " + response.statusCode()); } + return Mono.just(response); }); if (this.debug) { result = result.log(); diff --git a/spring-cloud-function-web/src/main/java/org/springframework/cloud/function/web/util/HeaderUtils.java b/spring-cloud-function-web/src/main/java/org/springframework/cloud/function/web/util/HeaderUtils.java index d4382fe6f..e5d728daa 100644 --- a/spring-cloud-function-web/src/main/java/org/springframework/cloud/function/web/util/HeaderUtils.java +++ b/spring-cloud-function-web/src/main/java/org/springframework/cloud/function/web/util/HeaderUtils.java @@ -62,7 +62,7 @@ public final class HeaderUtils { for (String name : headers.keySet()) { Object value = headers.get(name); name = name.toLowerCase(Locale.ROOT); - if (!IGNORED.containsKey(name) && !ignoredHeders.contains(name)) { + if (!IGNORED.containsHeader(name) && !ignoredHeders.contains(name)) { Collection values = multi(value); for (Object object : values) { result.set(name, object.toString()); @@ -80,10 +80,10 @@ public final class HeaderUtils { public static HttpHeaders sanitize(HttpHeaders request, List ignoredHeders, List requestOnlyHeaders) { HttpHeaders result = new HttpHeaders(); - for (String name : request.keySet()) { + for (String name : request.headerNames()) { List value = request.get(name); name = name.toLowerCase(Locale.ROOT); - if (!IGNORED.containsKey(name) && !REQUEST_ONLY.containsKey(name) && !ignoredHeders.contains(name) && !requestOnlyHeaders.contains(name)) { + if (!IGNORED.containsHeader(name) && !REQUEST_ONLY.containsHeader(name) && !ignoredHeders.contains(name) && !requestOnlyHeaders.contains(name)) { result.put(name, value); } } @@ -97,7 +97,7 @@ public final class HeaderUtils { public static MessageHeaders fromHttp(HttpHeaders headers) { Map map = new LinkedHashMap<>(); - for (String name : headers.keySet()) { + for (String name : headers.headerNames()) { Collection values = multi(headers.get(name)); name = name.toLowerCase(Locale.ROOT); Object value = values == null ? null diff --git a/spring-cloud-function-web/src/test/java/org/springframework/cloud/function/web/flux/HeadersToMessageTests.java b/spring-cloud-function-web/src/test/java/org/springframework/cloud/function/web/flux/HeadersToMessageTests.java index 06ec2bdb1..3cb40b0df 100644 --- a/spring-cloud-function-web/src/test/java/org/springframework/cloud/function/web/flux/HeadersToMessageTests.java +++ b/spring-cloud-function-web/src/test/java/org/springframework/cloud/function/web/flux/HeadersToMessageTests.java @@ -60,7 +60,7 @@ public class HeadersToMessageTests { .contentType(MediaType.APPLICATION_JSON) .body("{\"name\":\"Bob\",\"age\":25}"), String.class); assertThat(postForEntity.getBody()).isEqualTo("{\"name\":\"Bob\",\"age\":25}"); - assertThat(postForEntity.getHeaders().containsKey("x-content-type")).isTrue(); + assertThat(postForEntity.getHeaders().containsHeader("x-content-type")).isTrue(); assertThat(postForEntity.getHeaders().get("x-content-type").get(0)) .isEqualTo("application/xml"); assertThat(postForEntity.getHeaders().get("foo").get(0)).isEqualTo("bar"); @@ -69,7 +69,7 @@ public class HeadersToMessageTests { postForEntity = this.rest.postForEntity(new URI("/functions/string"), "{\"name\":\"Bob\",\"age\":25}", String.class); assertThat(postForEntity.getBody()).isEqualTo("{\"name\":\"Bob\",\"age\":25}"); - assertThat(postForEntity.getHeaders().containsKey("x-content-type")).isTrue(); + assertThat(postForEntity.getHeaders().containsHeader("x-content-type")).isTrue(); assertThat(postForEntity.getHeaders().get("x-content-type").get(0)) .isEqualTo("application/xml"); assertThat(postForEntity.getHeaders().get("foo").get(0)).isEqualTo("bar"); diff --git a/spring-cloud-function-web/src/test/java/org/springframework/cloud/function/web/flux/HttpPostIntegrationTests.java b/spring-cloud-function-web/src/test/java/org/springframework/cloud/function/web/flux/HttpPostIntegrationTests.java index eb4d61ab8..6fdc46656 100644 --- a/spring-cloud-function-web/src/test/java/org/springframework/cloud/function/web/flux/HttpPostIntegrationTests.java +++ b/spring-cloud-function-web/src/test/java/org/springframework/cloud/function/web/flux/HttpPostIntegrationTests.java @@ -170,7 +170,7 @@ public class HttpPostIntegrationTests { .post(new URI("/messages")).contentType(MediaType.APPLICATION_JSON) .header("x-foo", "bar").body("[\"foo\",\"bar\"]"), String.class); assertThat(result.getHeaders().getFirst("x-foo")).isEqualTo("bar"); - assertThat(result.getHeaders()).doesNotContainKey("id"); + assertThat(result.getHeaders().headerNames()).doesNotContain("id"); assertThat(result.getBody()).isEqualTo("[\"(FOO)\",\"(BAR)\"]"); } diff --git a/spring-cloud-function-web/src/test/java/org/springframework/cloud/function/web/function/FunctionEndpointInitializerTests.java b/spring-cloud-function-web/src/test/java/org/springframework/cloud/function/web/function/FunctionEndpointInitializerTests.java index 66189a9de..110501f0b 100644 --- a/spring-cloud-function-web/src/test/java/org/springframework/cloud/function/web/function/FunctionEndpointInitializerTests.java +++ b/spring-cloud-function-web/src/test/java/org/springframework/cloud/function/web/function/FunctionEndpointInitializerTests.java @@ -72,7 +72,7 @@ public class FunctionEndpointInitializerTests { headers.set("Accept", "application/json"); HttpEntity entity = new HttpEntity(headers); - String urlTemplate = UriComponentsBuilder.fromHttpUrl("http://localhost:" + port + "/nullPayload") + String urlTemplate = UriComponentsBuilder.fromUriString("http://localhost:" + port + "/nullPayload") .queryParam("fname", "Jim").queryParam("lname", "Lahey").encode().toUriString(); ResponseEntity response = testRestTemplate.exchange(urlTemplate, HttpMethod.GET, entity, String.class); diff --git a/spring-cloud-function-web/src/test/java/org/springframework/cloud/function/web/mvc/HeadersToMessageTests.java b/spring-cloud-function-web/src/test/java/org/springframework/cloud/function/web/mvc/HeadersToMessageTests.java index 14c264aee..0527e2928 100644 --- a/spring-cloud-function-web/src/test/java/org/springframework/cloud/function/web/mvc/HeadersToMessageTests.java +++ b/spring-cloud-function-web/src/test/java/org/springframework/cloud/function/web/mvc/HeadersToMessageTests.java @@ -60,7 +60,7 @@ public class HeadersToMessageTests { .contentType(MediaType.APPLICATION_JSON) .body("{\"name\":\"Bob\",\"age\":25}"), String.class); assertThat(postForEntity.getBody()).isEqualTo("{\"name\":\"Bob\",\"age\":25}"); - assertThat(postForEntity.getHeaders().containsKey("x-content-type")).isTrue(); + assertThat(postForEntity.getHeaders().headerNames()).contains("x-content-type"); assertThat(postForEntity.getHeaders().get("x-content-type").get(0)) .isEqualTo("application/xml"); assertThat(postForEntity.getHeaders().get("foo").get(0)).isEqualTo("bar"); @@ -75,7 +75,7 @@ public class HeadersToMessageTests { .body("{\"name\":\"Bob\",\"age\":25}"), String.class); assertThat(postForEntity.getBody()) .isEqualTo("{\"name\":\"Bob\",\"age\":25,\"foo\":\"bar\"}"); - assertThat(postForEntity.getHeaders().containsKey("x-context-type")).isTrue(); + assertThat(postForEntity.getHeaders().headerNames()).contains("x-context-type"); assertThat(postForEntity.getHeaders().get("x-context-type").get(0)) .isEqualTo("rubbish"); } diff --git a/spring-cloud-function-web/src/test/java/org/springframework/cloud/function/web/mvc/HttpPostIntegrationTests.java b/spring-cloud-function-web/src/test/java/org/springframework/cloud/function/web/mvc/HttpPostIntegrationTests.java index b3d9b2aa4..83b0f790c 100644 --- a/spring-cloud-function-web/src/test/java/org/springframework/cloud/function/web/mvc/HttpPostIntegrationTests.java +++ b/spring-cloud-function-web/src/test/java/org/springframework/cloud/function/web/mvc/HttpPostIntegrationTests.java @@ -145,7 +145,7 @@ public class HttpPostIntegrationTests { .accept(MediaType.valueOf("application/stream+json")) .header("x-foo", "bar").body("[\"foo\",\"bar\"]"), String.class); assertThat(result.getHeaders().getFirst("x-foo")).isEqualTo("bar"); - assertThat(result.getHeaders()).doesNotContainKey("id"); + assertThat(result.getHeaders().headerNames()).doesNotContain("id"); assertThat(result.getBody()).isEqualTo("[\"(FOO)\",\"(BAR)\"]"); } @@ -157,7 +157,7 @@ public class HttpPostIntegrationTests { .accept(MediaType.valueOf("application/stream+json")) .body("[\"foo\",\"bar\"]"), String.class); assertThat(result.getHeaders().getFirst("foo")).isEqualTo("bar"); - assertThat(result.getHeaders()).doesNotContainKey("id"); + assertThat(result.getHeaders().headerNames()).doesNotContain("id"); assertThat(result.getBody()).isEqualTo("[\"(FOO)\",\"(BAR)\"]"); } diff --git a/spring-cloud-function-web/src/test/java/org/springframework/cloud/function/web/mvc/RoutingFunctionTests.java b/spring-cloud-function-web/src/test/java/org/springframework/cloud/function/web/mvc/RoutingFunctionTests.java index b107d96bf..ce8dcfdab 100644 --- a/spring-cloud-function-web/src/test/java/org/springframework/cloud/function/web/mvc/RoutingFunctionTests.java +++ b/spring-cloud-function-web/src/test/java/org/springframework/cloud/function/web/mvc/RoutingFunctionTests.java @@ -72,19 +72,18 @@ public class RoutingFunctionTests { public void testFunctionMessage() throws Exception { HttpEntity postForEntity = this.rest - .exchange(RequestEntity.post(new URI("/functions/" + RoutingFunction.FUNCTION_NAME)) - .contentType(MediaType.APPLICATION_JSON) - .header("spring.cloud.function.definition", "employee") - .header("abc", "abc") - .header("xyz", "xyz") - .body("{\"name\":\"Bob\",\"age\":25}"), String.class); + .exchange(RequestEntity.post(new URI("/functions/" + RoutingFunction.FUNCTION_NAME)) + .contentType(MediaType.APPLICATION_JSON) + .header("spring.cloud.function.definition", "employee") + .header("abc", "abc") + .header("xyz", "xyz") + .body("{\"name\":\"Bob\",\"age\":25}"), String.class); assertThat(postForEntity.getBody()).isEqualTo("{\"name\":\"Bob\",\"age\":25}"); - assertThat(postForEntity.getHeaders().containsKey("x-content-type")).isTrue(); + assertThat(postForEntity.getHeaders().headerNames()).contains("x-content-type"); assertThat(postForEntity.getHeaders().get("x-content-type").get(0)) - .isEqualTo("application/xml"); - assertThat(postForEntity.getHeaders().containsKey("spring.cloud.function.definition")).isTrue(); - assertThat(postForEntity.getHeaders().containsKey("abc")).isFalse(); - assertThat(postForEntity.getHeaders().containsKey("xyz")).isFalse(); + .isEqualTo("application/xml"); + assertThat(postForEntity.getHeaders().headerNames()).contains("spring.cloud.function.definition") + .doesNotContain("abc", "xyz"); assertThat(postForEntity.getHeaders().get("foo").get(0)).isEqualTo("bar"); } diff --git a/spring-cloud-starter-function-web/pom.xml b/spring-cloud-starter-function-web/pom.xml index 22137ce48..5a33ae6f4 100644 --- a/spring-cloud-starter-function-web/pom.xml +++ b/spring-cloud-starter-function-web/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-function-parent - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT .. spring-cloud-starter-function-web diff --git a/spring-cloud-starter-function-webflux/pom.xml b/spring-cloud-starter-function-webflux/pom.xml index 46d1bb40f..90c99fd92 100644 --- a/spring-cloud-starter-function-webflux/pom.xml +++ b/spring-cloud-starter-function-webflux/pom.xml @@ -6,7 +6,7 @@ org.springframework.cloud spring-cloud-function-parent - 4.3.1-SNAPSHOT + 5.0.0-SNAPSHOT spring-cloud-starter-function-webflux spring-cloud-starter-function-webflux