From bdb0913dd82c9399ccc985b2413d754a57fb501a Mon Sep 17 00:00:00 2001 From: Guido Lena Cota Date: Mon, 15 Oct 2018 23:05:26 +0200 Subject: [PATCH 1/4] Replace lambda with method reference --- .../cloud/gateway/actuate/GatewayControllerEndpoint.java | 2 +- .../cloud/gateway/route/CachingRouteDefinitionLocator.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/actuate/GatewayControllerEndpoint.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/actuate/GatewayControllerEndpoint.java index 52421b1f..b27cfd63 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/actuate/GatewayControllerEndpoint.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/actuate/GatewayControllerEndpoint.java @@ -182,7 +182,7 @@ http POST :8080/admin/gateway/routes/apiaddreqhead uri=http://httpbin.org:80 pre return this.routeDefinitionLocator.getRouteDefinitions() .filter(route -> route.getId().equals(id)) .singleOrEmpty() - .map(route -> ResponseEntity.ok(route)) + .map(ResponseEntity::ok) .switchIfEmpty(Mono.just(ResponseEntity.notFound().build())); } diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/CachingRouteDefinitionLocator.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/CachingRouteDefinitionLocator.java index 62091d2a..71989463 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/CachingRouteDefinitionLocator.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/CachingRouteDefinitionLocator.java @@ -39,7 +39,7 @@ public class CachingRouteDefinitionLocator implements RouteDefinitionLocator { public CachingRouteDefinitionLocator(RouteDefinitionLocator delegate) { this.delegate = delegate; routeDefinitions = CacheFlux.lookup(cache, "routeDefs", RouteDefinition.class) - .onCacheMissResume(() -> this.delegate.getRouteDefinitions()); + .onCacheMissResume(this.delegate::getRouteDefinitions); } From 317edea8c2fa6bce44e73e36043175a470da7ef9 Mon Sep 17 00:00:00 2001 From: Guido Lena Cota Date: Mon, 15 Oct 2018 23:06:48 +0200 Subject: [PATCH 2/4] Minor refactors to improve readability --- .../cloud/gateway/filter/headers/HttpHeadersFilter.java | 6 +----- .../support/ipresolver/XForwardedRemoteAddressResolver.java | 4 ++-- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/headers/HttpHeadersFilter.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/headers/HttpHeadersFilter.java index d2301572..0e5644a9 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/headers/HttpHeadersFilter.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/headers/HttpHeadersFilter.java @@ -62,10 +62,6 @@ public interface HttpHeadersFilter { } default boolean supports(Type type) { - if (type.equals(Type.REQUEST)) { - return true; - } - - return false; + return type.equals(Type.REQUEST); } } diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/support/ipresolver/XForwardedRemoteAddressResolver.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/support/ipresolver/XForwardedRemoteAddressResolver.java index 6589d903..83472604 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/support/ipresolver/XForwardedRemoteAddressResolver.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/support/ipresolver/XForwardedRemoteAddressResolver.java @@ -91,7 +91,7 @@ public class XForwardedRemoteAddressResolver implements RemoteAddressResolver { public InetSocketAddress resolve(ServerWebExchange exchange) { List xForwardedValues = extractXForwardedValues(exchange); Collections.reverse(xForwardedValues); - if (xForwardedValues.size() != 0) { + if (!xForwardedValues.isEmpty()) { int index = Math.min(xForwardedValues.size(), maxTrustedIndex) - 1; return InetSocketAddress.createUnresolved(xForwardedValues.get(index), 0); } @@ -101,7 +101,7 @@ public class XForwardedRemoteAddressResolver implements RemoteAddressResolver { private List extractXForwardedValues(ServerWebExchange exchange) { List xForwardedValues = exchange.getRequest().getHeaders() .get(X_FORWARDED_FOR); - if (xForwardedValues == null || xForwardedValues.size() == 0) { + if (xForwardedValues == null || xForwardedValues.isEmpty()) { return Collections.emptyList(); } if (xForwardedValues.size() > 1) { From cdef68af31c97fa0180ce90a6552567938e17b4d Mon Sep 17 00:00:00 2001 From: Guido Lena Cota Date: Mon, 15 Oct 2018 23:09:35 +0200 Subject: [PATCH 3/4] Use indexOf a char --- .../springframework/cloud/gateway/filter/FilterDefinition.java | 2 +- .../cloud/gateway/handler/predicate/PredicateDefinition.java | 2 +- .../springframework/cloud/gateway/route/RouteDefinition.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/FilterDefinition.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/FilterDefinition.java index 5923e871..e3545ddf 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/FilterDefinition.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/FilterDefinition.java @@ -41,7 +41,7 @@ public class FilterDefinition { } public FilterDefinition(String text) { - int eqIdx = text.indexOf("="); + int eqIdx = text.indexOf('='); if (eqIdx <= 0) { setName(text); return; diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/handler/predicate/PredicateDefinition.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/handler/predicate/PredicateDefinition.java index f202b9d4..f0798034 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/handler/predicate/PredicateDefinition.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/handler/predicate/PredicateDefinition.java @@ -42,7 +42,7 @@ public class PredicateDefinition { } public PredicateDefinition(String text) { - int eqIdx = text.indexOf("="); + int eqIdx = text.indexOf('='); if (eqIdx <= 0) { throw new ValidationException("Unable to parse PredicateDefinition text '" + text + "'" + ", must be of the form name=value"); diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/RouteDefinition.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/RouteDefinition.java index c5ef5f47..f34c6b1a 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/RouteDefinition.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/RouteDefinition.java @@ -56,7 +56,7 @@ public class RouteDefinition { public RouteDefinition() {} public RouteDefinition(String text) { - int eqIdx = text.indexOf("="); + int eqIdx = text.indexOf('='); if (eqIdx <= 0) { throw new ValidationException("Unable to parse RouteDefinition text '" + text + "'" + ", must be of the form name=value"); From eb13e0d68381cecf67bf5b75ccda8c38bc3c3720 Mon Sep 17 00:00:00 2001 From: Guido Lena Cota Date: Mon, 15 Oct 2018 23:10:20 +0200 Subject: [PATCH 4/4] Remove unused import, private methods, and private fields --- .../gateway/handler/predicate/PathRoutePredicateFactory.java | 1 - .../cloud/gateway/route/builder/GatewayFilterSpec.java | 3 --- .../cloud/gateway/support/DefaultServerResponse.java | 5 ----- .../cloud/gateway/support/ShortcutConfigurable.java | 1 - 4 files changed, 10 deletions(-) diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/handler/predicate/PathRoutePredicateFactory.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/handler/predicate/PathRoutePredicateFactory.java index 5003ed37..d8d64ed9 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/handler/predicate/PathRoutePredicateFactory.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/handler/predicate/PathRoutePredicateFactory.java @@ -18,7 +18,6 @@ package org.springframework.cloud.gateway.handler.predicate; import java.util.Arrays; -import java.util.Collections; import java.util.List; import java.util.function.Predicate; 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 cfa4cc7e..71d469f8 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 @@ -556,7 +556,4 @@ public class GatewayFilterSpec extends UriSpec { })); } - private String routeId() { - return routeBuilder.getId(); - } } diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/support/DefaultServerResponse.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/support/DefaultServerResponse.java index dbc03da1..13d390c2 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/support/DefaultServerResponse.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/support/DefaultServerResponse.java @@ -17,18 +17,15 @@ package org.springframework.cloud.gateway.support; -import java.util.EnumSet; import java.util.List; import java.util.Map; import java.util.Optional; -import java.util.Set; import org.springframework.web.reactive.function.server.HandlerStrategies; import org.springframework.web.reactive.result.view.ViewResolver; import reactor.core.publisher.Mono; import org.springframework.http.HttpHeaders; -import org.springframework.http.HttpMethod; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseCookie; import org.springframework.http.codec.HttpMessageWriter; @@ -43,8 +40,6 @@ import org.springframework.web.server.ServerWebExchange; public class DefaultServerResponse implements ServerResponse { - private static final Set SAFE_METHODS = EnumSet.of(HttpMethod.GET, HttpMethod.HEAD); - private final ServerWebExchange exchange; private final BodyInserter inserter; diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/support/ShortcutConfigurable.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/support/ShortcutConfigurable.java index c2f0679a..13b3ead8 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/support/ShortcutConfigurable.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/support/ShortcutConfigurable.java @@ -25,7 +25,6 @@ import org.springframework.expression.spel.standard.SpelExpressionParser; import org.springframework.expression.spel.support.StandardEvaluationContext; import org.springframework.util.Assert; -import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List;