Moves DefaultRemote* function to default method in interface.

This commit is contained in:
Spencer Gibb
2018-03-19 17:11:09 -04:00
parent d79534409b
commit 377090d506
3 changed files with 5 additions and 19 deletions

View File

@@ -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();
}
}

View File

@@ -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();
}
}

View File

@@ -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;