From a6ff1809194569e219375a78405f2a1bdaf7d04b Mon Sep 17 00:00:00 2001 From: Spencer Gibb Date: Thu, 14 Jun 2018 16:57:26 -0400 Subject: [PATCH] Marks reading/modifying request/response body as BETA. --- .../factory/AbstractGatewayFilterFactory.java | 4 ++++ .../rewrite/HttpMessageWriterResponse.java | 1 + .../ModifyRequestBodyGatewayFilterFactory.java | 3 +++ ...ModifyResponseBodyGatewayFilterFactory.java | 3 +++ .../factory/rewrite/RewriteFunction.java | 5 +++++ .../filter/factory/rewrite/RewriteUtils.java | 3 +++ .../predicate/ReadBodyPredicateFactory.java | 3 +++ .../route/builder/GatewayFilterSpec.java | 18 ++++++++++++++++++ .../gateway/route/builder/PredicateSpec.java | 1 + 9 files changed, 41 insertions(+) diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/factory/AbstractGatewayFilterFactory.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/factory/AbstractGatewayFilterFactory.java index 2cb3acab..d0cb6da7 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/factory/AbstractGatewayFilterFactory.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/factory/AbstractGatewayFilterFactory.java @@ -19,6 +19,10 @@ package org.springframework.cloud.gateway.filter.factory; import org.springframework.cloud.gateway.support.AbstractConfigurable; +/** + * This class is BETA and may be subject to change in a future release. + * @param + */ public abstract class AbstractGatewayFilterFactory extends AbstractConfigurable implements GatewayFilterFactory { diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/factory/rewrite/HttpMessageWriterResponse.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/factory/rewrite/HttpMessageWriterResponse.java index 095ac8dc..960ba228 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/factory/rewrite/HttpMessageWriterResponse.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/factory/rewrite/HttpMessageWriterResponse.java @@ -31,6 +31,7 @@ import reactor.core.publisher.Mono; import java.util.function.Supplier; /** + * This class is BETA and may be subject to change in a future release. * Response who's job it is to gather the Publisher<DataBuffer> from the writeWith message * during a call to HttpMessageWriter.write. Also gathers any headers set there. */ diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/factory/rewrite/ModifyRequestBodyGatewayFilterFactory.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/factory/rewrite/ModifyRequestBodyGatewayFilterFactory.java index eb2fc13a..992451e2 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/factory/rewrite/ModifyRequestBodyGatewayFilterFactory.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/factory/rewrite/ModifyRequestBodyGatewayFilterFactory.java @@ -37,6 +37,9 @@ import org.springframework.http.server.reactive.ServerHttpRequestDecorator; import static org.springframework.cloud.gateway.filter.factory.rewrite.RewriteUtils.process; +/** + * This filter is BETA and may be subject to change in a future release. + */ public class ModifyRequestBodyGatewayFilterFactory extends AbstractGatewayFilterFactory { diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/factory/rewrite/ModifyResponseBodyGatewayFilterFactory.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/factory/rewrite/ModifyResponseBodyGatewayFilterFactory.java index aefe7036..85250a1a 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/factory/rewrite/ModifyResponseBodyGatewayFilterFactory.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/factory/rewrite/ModifyResponseBodyGatewayFilterFactory.java @@ -43,6 +43,9 @@ import org.springframework.web.server.ServerWebExchange; import static org.springframework.cloud.gateway.filter.factory.rewrite.RewriteUtils.getHttpMessageReader; import static org.springframework.cloud.gateway.filter.factory.rewrite.RewriteUtils.getHttpMessageWriter; +/** + * This filter is BETA and may be subject to change in a future release. + */ public class ModifyResponseBodyGatewayFilterFactory extends AbstractGatewayFilterFactory { diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/factory/rewrite/RewriteFunction.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/factory/rewrite/RewriteFunction.java index a4502019..246fc733 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/factory/rewrite/RewriteFunction.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/factory/rewrite/RewriteFunction.java @@ -21,5 +21,10 @@ import org.springframework.web.server.ServerWebExchange; import java.util.function.BiFunction; +/** + * This interface is BETA and may be subject to change in a future release. + * @param + * @param + */ public interface RewriteFunction extends BiFunction { } diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/factory/rewrite/RewriteUtils.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/factory/rewrite/RewriteUtils.java index 2e05b172..cb7c7529 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/factory/rewrite/RewriteUtils.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/factory/rewrite/RewriteUtils.java @@ -30,6 +30,9 @@ import org.springframework.http.codec.CodecConfigurer; import org.springframework.http.codec.HttpMessageReader; import org.springframework.http.codec.HttpMessageWriter; +/** + * This class is BETA and may be subject to change in a future release. + */ public abstract class RewriteUtils { public static R process(Mono mono, Function consumer) { diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/handler/predicate/ReadBodyPredicateFactory.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/handler/predicate/ReadBodyPredicateFactory.java index 64ca281c..1bd5a3cb 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/handler/predicate/ReadBodyPredicateFactory.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/handler/predicate/ReadBodyPredicateFactory.java @@ -37,6 +37,9 @@ import static org.springframework.cloud.gateway.filter.factory.rewrite.RewriteUt import static org.springframework.cloud.gateway.filter.factory.rewrite.RewriteUtils.getHttpMessageWriter; import static org.springframework.cloud.gateway.filter.factory.rewrite.RewriteUtils.process; +/** + * This predicate is BETA and may be subject to change in a future release. + */ public class ReadBodyPredicateFactory extends AbstractRoutePredicateFactory { private final ServerCodecConfigurer codecConfigurer; diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/builder/GatewayFilterSpec.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/builder/GatewayFilterSpec.java index 4a0722fd..c0758f94 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/builder/GatewayFilterSpec.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/builder/GatewayFilterSpec.java @@ -127,11 +127,29 @@ public class GatewayFilterSpec extends UriSpec { return filter(factory.apply(this.routeBuilder.getId(), configConsumer)); } + /** + * This filter is BETA and may be subject to change in a future release. + * @param inClass + * @param outClass + * @param rewriteFunction + * @param + * @param + * @return + */ public GatewayFilterSpec modifyRequestBody(Class inClass, Class outClass, RewriteFunction rewriteFunction) { return filter(getBean(ModifyRequestBodyGatewayFilterFactory.class) .apply(c -> c.setRewriteFunction(inClass, outClass, rewriteFunction))); } + /** + * This filter is BETA and may be subject to change in a future release. + * @param inClass + * @param outClass + * @param rewriteFunction + * @param + * @param + * @return + */ public GatewayFilterSpec modifyResponseBody(Class inClass, Class outClass, RewriteFunction rewriteFunction) { return filter(getBean(ModifyResponseBodyGatewayFilterFactory.class) .apply(c -> c.setRewriteFunction(inClass, outClass, rewriteFunction))); diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/builder/PredicateSpec.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/builder/PredicateSpec.java index 0c49b492..dc805737 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/builder/PredicateSpec.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/builder/PredicateSpec.java @@ -170,6 +170,7 @@ public class PredicateSpec extends UriSpec { } /** + * This predicate is BETA and may be subject to change in a future release. * A predicate that checks the contents of the request body * @param inClass the class to parse the body to * @param predicate a predicate to check the contents of the body