Author: olamy
Date: Fri Oct 12 16:48:25 2012
New Revision: 1397637

URL: http://svn.apache.org/viewvc?rev=1397637&view=rev
Log:
fix weird issue with preemptive with https target host

Modified:
    
maven/sandbox/trunk/plugins/maven-patch-tracker-plugin/src/main/java/org/apache/maven/plugins/patchtracker/tracking/jenkins/JenkinsPatchTracker.java

Modified: 
maven/sandbox/trunk/plugins/maven-patch-tracker-plugin/src/main/java/org/apache/maven/plugins/patchtracker/tracking/jenkins/JenkinsPatchTracker.java
URL: 
http://svn.apache.org/viewvc/maven/sandbox/trunk/plugins/maven-patch-tracker-plugin/src/main/java/org/apache/maven/plugins/patchtracker/tracking/jenkins/JenkinsPatchTracker.java?rev=1397637&r1=1397636&r2=1397637&view=diff
==============================================================================
--- 
maven/sandbox/trunk/plugins/maven-patch-tracker-plugin/src/main/java/org/apache/maven/plugins/patchtracker/tracking/jenkins/JenkinsPatchTracker.java
 (original)
+++ 
maven/sandbox/trunk/plugins/maven-patch-tracker-plugin/src/main/java/org/apache/maven/plugins/patchtracker/tracking/jenkins/JenkinsPatchTracker.java
 Fri Oct 12 16:48:25 2012
@@ -30,7 +30,6 @@ import org.apache.http.client.protocol.C
 import org.apache.http.entity.mime.HttpMultipartMode;
 import org.apache.http.entity.mime.MultipartEntity;
 import org.apache.http.entity.mime.content.FileBody;
-import org.apache.http.entity.mime.content.StringBody;
 import org.apache.http.impl.auth.BasicScheme;
 import org.apache.http.impl.client.BasicAuthCache;
 import org.apache.http.impl.client.DefaultHttpClient;
@@ -66,6 +65,8 @@ public class JenkinsPatchTracker
 
             HttpPost post = new HttpPost( patchTrackerRequest.getUrl() + 
"/buildWithParameters?delay=0sec" );
 
+            //defaultHttpClient.setRedirectStrategy( new LaxRedirectStrategy() 
);
+
             MultipartEntity entity = new MultipartEntity( 
HttpMultipartMode.BROWSER_COMPATIBLE );
 
             FileBody fileBody = new FileBody( tmpPathFile );
@@ -96,15 +97,25 @@ public class JenkinsPatchTracker
             {
 
                 defaultHttpClient.getCredentialsProvider().setCredentials(
-                    new AuthScope( new AuthScope( post.getURI().getHost(), 
post.getURI().getPort() ) ),
+                    new AuthScope( new AuthScope( AuthScope.ANY_HOST, 
AuthScope.ANY_PORT ) ),
                     new UsernamePasswordCredentials( 
patchTrackerRequest.getUserName(),
                                                      
patchTrackerRequest.getPassword() ) );
 
                 // Jenkins doesn't challenge so use a preemptive mode
                 AuthCache authCache = new BasicAuthCache();
                 BasicScheme basicAuth = new BasicScheme();
-                HttpHost targetHost =
-                    new HttpHost( post.getURI().getHost(), 
post.getURI().getPort(), post.getURI().getScheme() );
+
+                // using https://build.apache.org/blabla http client 
targetHost with port 443 but cannot find it
+                // so force the port
+                int port = post.getURI().getPort();
+
+                if ( port == -1 && StringUtils.equalsIgnoreCase( "https", 
post.getURI().getScheme() ) )
+                {
+                    port = 443;
+                }
+
+                HttpHost targetHost = new HttpHost( post.getURI().getHost(), 
port, post.getURI().getScheme() );
+
                 authCache.put( targetHost, basicAuth );
 
                 context = new BasicHttpContext();


Reply via email to