On Fri, 3 Dec 2021 17:28:25 GMT, Daniel Fuchs <dfu...@openjdk.org> wrote:
>> This change proposes to implement the enhancement noted in >> https://bugs.openjdk.java.net/browse/JDK-8209137. >> >> The change introduces a new API to allow applications to build a >> `java.net.http.HTTPClient` configured with a specific local address that >> will be used while creating `Socket`(s) for connections. > > test/jdk/java/net/httpclient/HttpClientLocalAddrTest.java line 74: > >> 72: >> 73: @BeforeClass >> 74: public static void beforeClass() throws Exception { > > For HttpClient tests - unless they are specific to HTTP/1.1 I'd recommend > making the test class implement HttpServerAdapters and test will all versions > of the protocol (http, https, http/2, and https/2). > An example can be found in e.g. > `test/jdk/java/net/httpclient/CancelRequestTest.java` Also it's better if the test is IP version agnostic. > test/jdk/java/net/httpclient/HttpClientLocalAddrTest.java line 205: > >> 203: // anyAddress >> 204: if (Boolean.getBoolean("java.net.preferIPv6Addresses")) { >> 205: // ipv6 wildcard > > ::1 is the ipv6 loopback - not the ipv6 wildcard You may encounter some issues when testing with https and IPv6 - Michael is working on a fix to add the loopback addresses as SNI aliases to the SimpleSSLContext certificate: https://bugs.openjdk.java.net/browse/JDK-8278312 ------------- PR: https://git.openjdk.java.net/jdk/pull/6690