You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by ma...@apache.org on 2015/01/23 20:00:16 UTC

[06/10] incubator-nifi git commit: NIFI-300, NIFI-298: Fixed bugs causing failures when sending to non-https addresses and sending as flowfile

NIFI-300, NIFI-298: Fixed bugs causing failures when sending to non-https addresses and sending as flowfile


Project: http://git-wip-us.apache.org/repos/asf/incubator-nifi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-nifi/commit/c8ecdd9d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-nifi/tree/c8ecdd9d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-nifi/diff/c8ecdd9d

Branch: refs/heads/develop
Commit: c8ecdd9ddfe847477cd916eb995ae9266919f8c6
Parents: 8b3f3c7
Author: Mark Payne <ma...@hotmail.com>
Authored: Fri Jan 23 12:00:21 2015 -0500
Committer: Mark Payne <ma...@hotmail.com>
Committed: Fri Jan 23 12:00:21 2015 -0500

----------------------------------------------------------------------
 .../nifi/processors/standard/PostHTTP.java      | 34 +++++++++++++-------
 1 file changed, 22 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-nifi/blob/c8ecdd9d/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PostHTTP.java
----------------------------------------------------------------------
diff --git a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PostHTTP.java b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PostHTTP.java
index ee16610..7fce2b0 100644
--- a/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PostHTTP.java
+++ b/nifi/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/PostHTTP.java
@@ -319,21 +319,27 @@ public class PostHTTP extends AbstractProcessor {
             return config;
         }
 
+        final PoolingHttpClientConnectionManager conMan;
         final SSLContextService sslContextService = context.getProperty(SSL_CONTEXT_SERVICE).asControllerService(SSLContextService.class);
-        final SSLContext sslContext;
-        try {
-            sslContext = createSSLContext(sslContextService);
-        } catch (final Exception e) {
-            throw new ProcessException(e);
+        if ( sslContextService == null ) {
+            conMan = new PoolingHttpClientConnectionManager();
+        } else {
+            final SSLContext sslContext;
+            try {
+                sslContext = createSSLContext(sslContextService);
+            } catch (final Exception e) {
+                throw new ProcessException(e);
+            }
+            
+            final SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslContext, new String[] { "TLSv1" }, null,
+                    SSLConnectionSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);
+    
+            final Registry<ConnectionSocketFactory> socketFactoryRegistry = RegistryBuilder.<ConnectionSocketFactory>create()
+                    .register("https", sslsf).build();
+            
+            conMan = new PoolingHttpClientConnectionManager(socketFactoryRegistry);
         }
         
-        final SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslContext, new String[] { "TLSv1" }, null,
-                SSLConnectionSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);
-
-        final Registry<ConnectionSocketFactory> socketFactoryRegistry = RegistryBuilder.<ConnectionSocketFactory>create()
-                .register("https", sslsf).build();
-        
-        final PoolingHttpClientConnectionManager conMan = new PoolingHttpClientConnectionManager(socketFactoryRegistry);
         conMan.setDefaultMaxPerRoute(context.getMaxConcurrentTasks());
         conMan.setMaxTotal(context.getMaxConcurrentTasks());
         config = new Config(conMan);
@@ -428,6 +434,10 @@ public class PostHTTP extends AbstractProcessor {
                     public void process(final HttpResponse response, final HttpContext httpContext) throws HttpException, IOException {
                         HttpCoreContext coreContext = HttpCoreContext.adapt(httpContext);
                         ManagedHttpClientConnection conn = coreContext.getConnection(ManagedHttpClientConnection.class);
+                        if ( !conn.isOpen() ) {
+                            return;
+                        }
+                        
                         SSLSession sslSession = conn.getSSLSession();
                         
                         if ( sslSession != null ) {