Resolved several outstanding TODOs after upgrade to HC 4.4
git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpasyncclient/trunk@1658393 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/httpasyncclient-cache/src/test/java/org/apache/http/impl/client/cache/TestHttpAsyncCacheJiraNumber1147.java b/httpasyncclient-cache/src/test/java/org/apache/http/impl/client/cache/TestHttpAsyncCacheJiraNumber1147.java
index 3e78b53..98c3ec5 100644
--- a/httpasyncclient-cache/src/test/java/org/apache/http/impl/client/cache/TestHttpAsyncCacheJiraNumber1147.java
+++ b/httpasyncclient-cache/src/test/java/org/apache/http/impl/client/cache/TestHttpAsyncCacheJiraNumber1147.java
@@ -27,8 +27,6 @@
package org.apache.http.impl.client.cache;
import org.apache.http.impl.execchain.ClientExecChain;
-import org.junit.Ignore;
-import org.junit.Test;
public class TestHttpAsyncCacheJiraNumber1147 extends TestHttpCacheJiraNumber1147 {
@@ -40,8 +38,4 @@
return new CachingHttpAsyncClientExecChain(backend, cache, config);
}
- @Override @Test @Ignore // TODO: re-enable the test after HttpClient 4.3.4 release
- public void testIssue1147() throws Exception {
- super.testIssue1147();
- }
}
diff --git a/httpasyncclient/src/main/java/org/apache/http/impl/nio/conn/PoolingNHttpClientConnectionManager.java b/httpasyncclient/src/main/java/org/apache/http/impl/nio/conn/PoolingNHttpClientConnectionManager.java
index 47b074f..21b3ed8 100644
--- a/httpasyncclient/src/main/java/org/apache/http/impl/nio/conn/PoolingNHttpClientConnectionManager.java
+++ b/httpasyncclient/src/main/java/org/apache/http/impl/nio/conn/PoolingNHttpClientConnectionManager.java
@@ -64,7 +64,6 @@
import org.apache.http.nio.reactor.ConnectingIOReactor;
import org.apache.http.nio.reactor.IOEventDispatch;
import org.apache.http.nio.reactor.IOSession;
-import org.apache.http.nio.reactor.ssl.SSLIOSession;
import org.apache.http.pool.ConnPoolControl;
import org.apache.http.pool.PoolStats;
import org.apache.http.protocol.HttpContext;
@@ -344,10 +343,6 @@
final IOSession ioSession = conn.getIOSession();
final IOSession currentSession = sf.upgrade(host, ioSession);
conn.bind(currentSession);
- // TODO: to be removed (work-around for a bug in HttpCore 4.4b1)
- if (currentSession instanceof SSLIOSession) {
- ioSession.setBufferStatus((SSLIOSession) currentSession);
- }
}
}
}
diff --git a/httpasyncclient/src/main/java/org/apache/http/nio/conn/ssl/SSLIOSessionStrategy.java b/httpasyncclient/src/main/java/org/apache/http/nio/conn/ssl/SSLIOSessionStrategy.java
index 5b92cf3..49c0260 100644
--- a/httpasyncclient/src/main/java/org/apache/http/nio/conn/ssl/SSLIOSessionStrategy.java
+++ b/httpasyncclient/src/main/java/org/apache/http/nio/conn/ssl/SSLIOSessionStrategy.java
@@ -28,10 +28,8 @@
package org.apache.http.nio.conn.ssl;
import java.io.IOException;
-import java.net.URL;
import java.security.cert.Certificate;
import java.security.cert.X509Certificate;
-import java.util.Arrays;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLContext;
@@ -41,22 +39,19 @@
import javax.net.ssl.SSLSession;
import javax.security.auth.x500.X500Principal;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
import org.apache.http.HttpHost;
import org.apache.http.conn.ssl.AllowAllHostnameVerifier;
import org.apache.http.conn.ssl.BrowserCompatHostnameVerifier;
import org.apache.http.conn.ssl.DefaultHostnameVerifier;
-import org.apache.http.conn.ssl.SSLContexts;
import org.apache.http.conn.ssl.StrictHostnameVerifier;
import org.apache.http.conn.ssl.X509HostnameVerifier;
-import org.apache.http.conn.util.PublicSuffixMatcher;
import org.apache.http.conn.util.PublicSuffixMatcherLoader;
import org.apache.http.nio.conn.SchemeIOSessionStrategy;
import org.apache.http.nio.reactor.IOSession;
import org.apache.http.nio.reactor.ssl.SSLIOSession;
import org.apache.http.nio.reactor.ssl.SSLMode;
import org.apache.http.nio.reactor.ssl.SSLSetupHandler;
+import org.apache.http.ssl.SSLContexts;
import org.apache.http.util.Args;
import org.apache.http.util.Asserts;
import org.apache.http.util.TextUtils;
@@ -87,39 +82,11 @@
return s.split(" *, *");
}
- //TODO: remove after upgrade to HttpCore 4.4-beta2 or newer
- private static volatile PublicSuffixMatcher DEFAULT_INSTANCE;
-
- private static PublicSuffixMatcher getDefaultPublicSuffixMatcher() {
- if (DEFAULT_INSTANCE == null) {
- synchronized (PublicSuffixMatcherLoader.class) {
- if (DEFAULT_INSTANCE == null){
- final URL url = PublicSuffixMatcherLoader.class.getResource(
- "/mozilla/public-suffix-list.txt");
- if (url != null) {
- try {
- DEFAULT_INSTANCE = PublicSuffixMatcherLoader.load(url);
- } catch (IOException ex) {
- // Should never happen
- final Log log = LogFactory.getLog(PublicSuffixMatcherLoader.class);
- if (log.isWarnEnabled()) {
- log.warn("Failure loading public suffix list from default resource", ex);
- }
- }
- } else {
- DEFAULT_INSTANCE = new PublicSuffixMatcher(Arrays.asList("com"), null);
- }
- }
- }
- }
- return DEFAULT_INSTANCE;
- }
-
/**
* @since 4.1
*/
public static HostnameVerifier getDefaultHostnameVerifier() {
- return new DefaultHostnameVerifier(getDefaultPublicSuffixMatcher());
+ return new DefaultHostnameVerifier(PublicSuffixMatcherLoader.getDefault());
}
public static SSLIOSessionStrategy getDefaultStrategy() {
diff --git a/httpasyncclient/src/test/java/org/apache/http/localserver/AbstractAsyncTest.java b/httpasyncclient/src/test/java/org/apache/http/localserver/AbstractAsyncTest.java
index 15da56c..2e6869b 100644
--- a/httpasyncclient/src/test/java/org/apache/http/localserver/AbstractAsyncTest.java
+++ b/httpasyncclient/src/test/java/org/apache/http/localserver/AbstractAsyncTest.java
@@ -34,7 +34,7 @@
import org.apache.http.HttpHost;
import org.apache.http.config.Registry;
import org.apache.http.config.RegistryBuilder;
-import org.apache.http.conn.ssl.NoopHostnameVerifier;
+import org.apache.http.conn.ssl.DefaultHostnameVerifier;
import org.apache.http.impl.nio.bootstrap.HttpServer;
import org.apache.http.impl.nio.bootstrap.ServerBootstrap;
import org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager;
@@ -98,9 +98,7 @@
if (this.scheme.equals(ProtocolScheme.https)) {
builder.register("https", new SSLIOSessionStrategy(
SSLTestContexts.createClientSSLContext(),
- // TODO: replace with the default hostname verifier
- // TODO: after upgrade to HttpCore 4.4-beta2 or newer
- NoopHostnameVerifier.INSTANCE));
+ new DefaultHostnameVerifier()));
}
final Registry<SchemeIOSessionStrategy> registry = builder.build();
final DefaultConnectingIOReactor ioReactor = new DefaultConnectingIOReactor(ioReactorConfig);