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();