diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/support/ipresolver/DefaultRemoteAddressResolver.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/support/ipresolver/DefaultRemoteAddressResolver.java deleted file mode 100644 index 63e82e70..00000000 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/support/ipresolver/DefaultRemoteAddressResolver.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.springframework.cloud.gateway.support.ipresolver; - -import java.net.InetSocketAddress; - -import org.springframework.web.server.ServerWebExchange; - -/** - * @author Andrew Fitzgerald - */ -public class DefaultRemoteAddressResolver implements RemoteAddressResolver { - - @Override - public InetSocketAddress resolve(ServerWebExchange exchange) { - return exchange.getRequest().getRemoteAddress(); - } -} diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/support/ipresolver/RemoteAddressResolver.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/support/ipresolver/RemoteAddressResolver.java index 4bb630f9..94c28b8d 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/support/ipresolver/RemoteAddressResolver.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/support/ipresolver/RemoteAddressResolver.java @@ -9,5 +9,7 @@ import org.springframework.web.server.ServerWebExchange; */ public interface RemoteAddressResolver { - InetSocketAddress resolve(ServerWebExchange exchange); + default InetSocketAddress resolve(ServerWebExchange exchange) { + return exchange.getRequest().getRemoteAddress(); + } } 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 e36e2c5f..1e89a130 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 @@ -14,7 +14,7 @@ import org.springframework.web.server.ServerWebExchange; /** * Parses the client address from the X-Forwarded-For header. If header is not present, - * falls back to {@link DefaultRemoteAddressResolver} and + * falls back to {@link RemoteAddressResolver} and * {@link ServerHttpRequest#getRemoteAddress()}. Use the static constructor methods which * meets your security requirements. * @@ -28,7 +28,7 @@ public class XForwardedRemoteAddressResolver implements RemoteAddressResolver { public static final String X_FORWARDED_FOR = "X-Forwarded-For"; private static final Logger log = LoggerFactory .getLogger(XForwardedRemoteAddressResolver.class); - private final DefaultRemoteAddressResolver defaultRemoteIpResolver = new DefaultRemoteAddressResolver(); + private final RemoteAddressResolver defaultRemoteIpResolver = new RemoteAddressResolver() {}; private final int maxTrustedIndex;