Polish "Fix NullPointerException with empty X-Forwarded-For header"
Closes gh-16046
This commit is contained in:
parent
64a74c3bbb
commit
c224eebef3
|
@ -50,6 +50,12 @@ class ServerWebExchangeTraceableRequest implements TraceableRequest {
|
||||||
this.remoteAddress = getRemoteAddress(request);
|
this.remoteAddress = getRemoteAddress(request);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static String getRemoteAddress(ServerHttpRequest request) {
|
||||||
|
InetSocketAddress remoteAddress = request.getRemoteAddress();
|
||||||
|
InetAddress address = (remoteAddress != null) ? remoteAddress.getAddress() : null;
|
||||||
|
return (address != null) ? address.toString() : null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getMethod() {
|
public String getMethod() {
|
||||||
return this.method;
|
return this.method;
|
||||||
|
@ -70,10 +76,4 @@ class ServerWebExchangeTraceableRequest implements TraceableRequest {
|
||||||
return this.remoteAddress;
|
return this.remoteAddress;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String getRemoteAddress(ServerHttpRequest request) {
|
|
||||||
InetSocketAddress remoteAddress = request.getRemoteAddress();
|
|
||||||
InetAddress address = (remoteAddress != null) ? remoteAddress.getAddress() : null;
|
|
||||||
return (address != null) ? address.toString() : null;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,7 +28,7 @@ import org.springframework.web.server.ServerWebExchange;
|
||||||
|
|
||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
import static org.assertj.core.api.Assertions.entry;
|
import static org.assertj.core.api.Assertions.entry;
|
||||||
import static org.mockito.Mockito.doReturn;
|
import static org.mockito.BDDMockito.given;
|
||||||
import static org.mockito.Mockito.mock;
|
import static org.mockito.Mockito.mock;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -46,13 +46,13 @@ public class ServerWebExchangeTraceableRequestTests {
|
||||||
public void setUp() {
|
public void setUp() {
|
||||||
this.exchange = mock(ServerWebExchange.class);
|
this.exchange = mock(ServerWebExchange.class);
|
||||||
this.request = mock(ServerHttpRequest.class);
|
this.request = mock(ServerHttpRequest.class);
|
||||||
doReturn(this.request).when(this.exchange).getRequest();
|
given(this.exchange.getRequest()).willReturn(this.request);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getMethod() {
|
public void getMethod() {
|
||||||
String method = "POST";
|
String method = "POST";
|
||||||
doReturn(method).when(this.request).getMethodValue();
|
given(this.request.getMethodValue()).willReturn(method);
|
||||||
ServerWebExchangeTraceableRequest traceableRequest = new ServerWebExchangeTraceableRequest(
|
ServerWebExchangeTraceableRequest traceableRequest = new ServerWebExchangeTraceableRequest(
|
||||||
this.exchange);
|
this.exchange);
|
||||||
assertThat(traceableRequest.getMethod()).isSameAs(method);
|
assertThat(traceableRequest.getMethod()).isSameAs(method);
|
||||||
|
@ -61,7 +61,7 @@ public class ServerWebExchangeTraceableRequestTests {
|
||||||
@Test
|
@Test
|
||||||
public void getUri() {
|
public void getUri() {
|
||||||
URI uri = URI.create("http://localhost:8080/");
|
URI uri = URI.create("http://localhost:8080/");
|
||||||
doReturn(uri).when(this.request).getURI();
|
given(this.request.getURI()).willReturn(uri);
|
||||||
ServerWebExchangeTraceableRequest traceableRequest = new ServerWebExchangeTraceableRequest(
|
ServerWebExchangeTraceableRequest traceableRequest = new ServerWebExchangeTraceableRequest(
|
||||||
this.exchange);
|
this.exchange);
|
||||||
assertThat(traceableRequest.getUri()).isSameAs(uri);
|
assertThat(traceableRequest.getUri()).isSameAs(uri);
|
||||||
|
@ -71,7 +71,7 @@ public class ServerWebExchangeTraceableRequestTests {
|
||||||
public void getHeaders() {
|
public void getHeaders() {
|
||||||
HttpHeaders httpHeaders = new HttpHeaders();
|
HttpHeaders httpHeaders = new HttpHeaders();
|
||||||
httpHeaders.add("name", "value");
|
httpHeaders.add("name", "value");
|
||||||
doReturn(httpHeaders).when(this.request).getHeaders();
|
given(this.request.getHeaders()).willReturn(httpHeaders);
|
||||||
ServerWebExchangeTraceableRequest traceableRequest = new ServerWebExchangeTraceableRequest(
|
ServerWebExchangeTraceableRequest traceableRequest = new ServerWebExchangeTraceableRequest(
|
||||||
this.exchange);
|
this.exchange);
|
||||||
assertThat(traceableRequest.getHeaders())
|
assertThat(traceableRequest.getHeaders())
|
||||||
|
@ -80,18 +80,18 @@ public class ServerWebExchangeTraceableRequestTests {
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getUnresolvedRemoteAddress() {
|
public void getUnresolvedRemoteAddress() {
|
||||||
InetSocketAddress socketAddress = InetSocketAddress.createUnresolved("", 0);
|
InetSocketAddress socketAddress = InetSocketAddress
|
||||||
doReturn(socketAddress).when(this.request).getRemoteAddress();
|
.createUnresolved("unresolved.example.com", 8080);
|
||||||
|
given(this.request.getRemoteAddress()).willReturn(socketAddress);
|
||||||
ServerWebExchangeTraceableRequest traceableRequest = new ServerWebExchangeTraceableRequest(
|
ServerWebExchangeTraceableRequest traceableRequest = new ServerWebExchangeTraceableRequest(
|
||||||
this.exchange);
|
this.exchange);
|
||||||
assertThat(traceableRequest.getRemoteAddress()).isNull();
|
assertThat(traceableRequest.getRemoteAddress()).isNull();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void getRemoteAddress() {
|
public void getRemoteAddress() {
|
||||||
InetSocketAddress socketAddress = new InetSocketAddress(0);
|
InetSocketAddress socketAddress = new InetSocketAddress(0);
|
||||||
doReturn(socketAddress).when(this.request).getRemoteAddress();
|
given(this.request.getRemoteAddress()).willReturn(socketAddress);
|
||||||
ServerWebExchangeTraceableRequest traceableRequest = new ServerWebExchangeTraceableRequest(
|
ServerWebExchangeTraceableRequest traceableRequest = new ServerWebExchangeTraceableRequest(
|
||||||
this.exchange);
|
this.exchange);
|
||||||
assertThat(traceableRequest.getRemoteAddress())
|
assertThat(traceableRequest.getRemoteAddress())
|
||||||
|
|
Loading…
Reference in New Issue