You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by gg...@apache.org on 2017/05/04 22:41:22 UTC
svn commit: r1793918 - in /httpcomponents/httpcore/branches/4.4.x:
RELEASE_NOTES.txt
httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultHttpClientIODispatch.java
Author: ggregory
Date: Thu May 4 22:41:22 2017
New Revision: 1793918
URL: http://svn.apache.org/viewvc?rev=1793918&view=rev
Log:
HTTPCORE-460: Add factory methods to DefaultHttpClientIODispatch to handle a null SSLContext.
Modified:
httpcomponents/httpcore/branches/4.4.x/RELEASE_NOTES.txt
httpcomponents/httpcore/branches/4.4.x/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultHttpClientIODispatch.java
Modified: httpcomponents/httpcore/branches/4.4.x/RELEASE_NOTES.txt
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/branches/4.4.x/RELEASE_NOTES.txt?rev=1793918&r1=1793917&r2=1793918&view=diff
==============================================================================
--- httpcomponents/httpcore/branches/4.4.x/RELEASE_NOTES.txt (original)
+++ httpcomponents/httpcore/branches/4.4.x/RELEASE_NOTES.txt Thu May 4 22:41:22 2017
@@ -9,6 +9,9 @@ Changelog
* HTTPCORE-450: Add a Provider parameter in SSLContextBuilder.
Contributed by lujianbo <387852424 at qq dot com>, Gary Gregory <ggregory at apache.org>
+* HTTPCORE-460: Add factory methods to DefaultHttpClientIODispatch to handle a null SSLContext.
+ Contributed by Gary Gregory <ggregory at apache.org>
+
Release 4.4.6
-------------------
Modified: httpcomponents/httpcore/branches/4.4.x/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultHttpClientIODispatch.java
URL: http://svn.apache.org/viewvc/httpcomponents/httpcore/branches/4.4.x/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultHttpClientIODispatch.java?rev=1793918&r1=1793917&r2=1793918&view=diff
==============================================================================
--- httpcomponents/httpcore/branches/4.4.x/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultHttpClientIODispatch.java (original)
+++ httpcomponents/httpcore/branches/4.4.x/httpcore-nio/src/main/java/org/apache/http/impl/nio/DefaultHttpClientIODispatch.java Thu May 4 22:41:22 2017
@@ -31,8 +31,8 @@ import java.io.IOException;
import javax.net.ssl.SSLContext;
-import org.apache.http.annotation.ThreadingBehavior;
import org.apache.http.annotation.Contract;
+import org.apache.http.annotation.ThreadingBehavior;
import org.apache.http.config.ConnectionConfig;
import org.apache.http.impl.nio.reactor.AbstractIODispatch;
import org.apache.http.nio.NHttpClientEventHandler;
@@ -54,6 +54,42 @@ import org.apache.http.util.Args;
public class DefaultHttpClientIODispatch
extends AbstractIODispatch<DefaultNHttpClientConnection> {
+ /**
+ * Creates a new instance of this class to be used for dispatching I/O event
+ * notifications to the given protocol handler.
+ *
+ * @param handler the client protocol handler.
+ * @param sslContext an SSLContext or null (for a plain text connection.)
+ * @param config a connection configuration
+ * @return a new instance
+ * @since 4.4.7
+ */
+ public static DefaultHttpClientIODispatch create(final NHttpClientEventHandler handler,
+ final SSLContext sslContext,
+ final ConnectionConfig config) {
+ return sslContext == null ? new DefaultHttpClientIODispatch(handler, config)
+ : new DefaultHttpClientIODispatch(handler, sslContext, config);
+ }
+
+ /**
+ * Creates a new instance of this class to be used for dispatching I/O event
+ * notifications to the given protocol handler.
+ *
+ * @param handler the client protocol handler.
+ * @param sslContext an SSLContext or null (for a plain text connection.)
+ * @param sslHandler customizes various aspects of the TLS/SSL protocol.
+ * @param config a connection configuration
+ * @return a new instance
+ * @since 4.4.7
+ */
+ public static DefaultHttpClientIODispatch create(final NHttpClientEventHandler handler,
+ final SSLContext sslContext,
+ final SSLSetupHandler sslHandler,
+ final ConnectionConfig config) {
+ return sslContext == null ? new DefaultHttpClientIODispatch(handler, config)
+ : new DefaultHttpClientIODispatch(handler, sslContext, sslHandler, config);
+ }
+
private final NHttpClientEventHandler handler;
private final NHttpConnectionFactory<DefaultNHttpClientConnection> connFactory;