private static String getScheme(HttpServerRequest request) { return request.scheme(); }
private static String getScheme(HttpServerRequest request) { return request.scheme(); }
private static String getScheme(HttpServerRequest request) { return request.scheme(); }
@Test public void forwardedAllDirectivesQuoted() { testClientRequest( clientRequestHeaders -> clientRequestHeaders.add("Forwarded", "host=\"a.example.com:443\";proto=\"https\""), serverRequest -> { Assertions.assertThat(serverRequest.hostAddress().getHostString()).isEqualTo("a.example.com"); Assertions.assertThat(serverRequest.hostAddress().getPort()).isEqualTo(443); Assertions.assertThat(serverRequest.scheme()).isEqualTo("https"); }); }
@Test public void forwardedMultipleHeaders() { testClientRequest( clientRequestHeaders -> { clientRequestHeaders.add("Forwarded", "host=a.example.com:443;proto=https"); clientRequestHeaders.add("Forwarded", "host=b.example.com"); }, serverRequest -> { Assertions.assertThat(serverRequest.hostAddress().getHostString()).isEqualTo("a.example.com"); Assertions.assertThat(serverRequest.hostAddress().getPort()).isEqualTo(443); Assertions.assertThat(serverRequest.scheme()).isEqualTo("https"); }); }
@Test public void forwardedAllDirectives() { testClientRequest( clientRequestHeaders -> clientRequestHeaders.add("Forwarded", "host=a.example.com:443;proto=https"), serverRequest -> { Assertions.assertThat(serverRequest.hostAddress().getHostString()).isEqualTo("a.example.com"); Assertions.assertThat(serverRequest.hostAddress().getPort()).isEqualTo(443); Assertions.assertThat(serverRequest.scheme()).isEqualTo("https"); }); }
@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"); }); }