]> source.dussan.org Git - jgit.git/commitdiff
HttpClientConnection: Register connection socket factory for http 03/83103/1
authorMatthias Sohn <matthias.sohn@sap.com>
Thu, 13 Oct 2016 10:27:22 +0000 (12:27 +0200)
committerMatthias Sohn <matthias.sohn@sap.com>
Thu, 13 Oct 2016 10:29:45 +0000 (12:29 +0200)
It is necessary to register a socket connection factory to prevent the
"http protocol is not supported" error when connecting over a proxy.

Change-Id: Iedf554acef841f52c1f2e3401ef0a0583ac5253b
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
org.eclipse.jgit.http.apache/src/org/eclipse/jgit/transport/http/apache/HttpClientConnection.java

index 6543bf66107fe512cde38505d6ae2e60650dc153..c6e557aba4ba2732b65799e9b6f24674817e2dd2 100644 (file)
@@ -89,6 +89,7 @@ import org.apache.http.client.methods.HttpUriRequest;
 import org.apache.http.config.Registry;
 import org.apache.http.config.RegistryBuilder;
 import org.apache.http.conn.socket.ConnectionSocketFactory;
+import org.apache.http.conn.socket.PlainConnectionSocketFactory;
 import org.apache.http.conn.ssl.SSLConnectionSocketFactory;
 import org.apache.http.conn.ssl.X509HostnameVerifier;
 import org.apache.http.impl.client.HttpClientBuilder;
@@ -157,7 +158,9 @@ public class HttpClientConnection implements HttpConnection {
                                clientBuilder.setSSLSocketFactory(sslConnectionFactory);
                                Registry<ConnectionSocketFactory> registry = RegistryBuilder
                                                .<ConnectionSocketFactory> create()
-                                               .register("https", sslConnectionFactory).build();
+                                               .register("https", sslConnectionFactory)
+                                               .register("http", PlainConnectionSocketFactory.INSTANCE)
+                                               .build();
                                clientBuilder.setConnectionManager(
                                                new BasicHttpClientConnectionManager(registry));
                        }