@Override public InetSocketAddress getRemoteAddress() { return this.request.remoteAddress(); }
@Override public InetSocketAddress getRemoteAddress() { return this.request.remoteAddress(); }
@Override public InetSocketAddress getRemoteAddress() { return this.request.remoteAddress(); }
@Override public InetSocketAddress getRemoteAddress() { return this.request.remoteAddress(); }
@Test public void forwardedForIpV6() { testClientRequest( clientRequestHeaders -> clientRequestHeaders.add("Forwarded", "for=\"[2001:db8:cafe::17]:4711\""), serverRequest -> { Assertions.assertThat(serverRequest.remoteAddress().getHostString()).isEqualTo("2001:db8:cafe:0:0:0:0:17"); Assertions.assertThat(serverRequest.remoteAddress().getPort()).isEqualTo(4711); }); }
@Test public void xForwardedFor() { testClientRequest( clientRequestHeaders -> clientRequestHeaders.add("X-Forwarded-For", "[1abc:2abc:3abc::5ABC:6abc]:8080, 192.168.0.1"), serverRequest -> { Assertions.assertThat(serverRequest.remoteAddress().getHostString()).isEqualTo("1abc:2abc:3abc:0:0:0:5abc:6abc"); Assertions.assertThat(serverRequest.remoteAddress().getPort()).isEqualTo(8080); }); }
@Test public void forwardedForHostname() { testClientRequest( clientRequestHeaders -> clientRequestHeaders.add("Forwarded", "for=\"_gazonk\""), serverRequest -> { Assertions.assertThat(serverRequest.remoteAddress().getHostString()).isEqualTo("_gazonk"); Assertions.assertThat(serverRequest.remoteAddress().getPort()).isPositive(); }); }
@Test public void forwardedForIp() { testClientRequest( clientRequestHeaders -> clientRequestHeaders.add("Forwarded", "for=192.0.2.60;proto=http;by=203.0.113.43"), serverRequest -> { Assertions.assertThat(serverRequest.remoteAddress().getHostString()).isEqualTo("192.0.2.60"); Assertions.assertThat(serverRequest.remoteAddress().getPort()).isPositive(); Assertions.assertThat(serverRequest.scheme()).isEqualTo("http"); }); }
@Test public void xForwardedForHostAndPort() { testClientRequest( clientRequestHeaders -> { clientRequestHeaders.add("X-Forwarded-For", "192.168.0.1"); clientRequestHeaders.add("X-Forwarded-Host", "a.example.com"); clientRequestHeaders.add("X-Forwarded-Port", "8080"); }, serverRequest -> { Assertions.assertThat(serverRequest.remoteAddress().getHostString()).isEqualTo("192.168.0.1") ; Assertions.assertThat(serverRequest.hostAddress().getHostString()).isEqualTo("a.example.com"); Assertions.assertThat(serverRequest.hostAddress().getPort()).isEqualTo(8080); }); }