Author: olamy Date: Fri Sep 23 20:11:49 2011 New Revision: 1174993 URL: http://svn.apache.org/viewvc?rev=1174993&view=rev Log: [WAGON-351] fix time out configuration in wagon-http.
Modified: maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/HttpMethodConfiguration.java Modified: maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java?rev=1174993&r1=1174992&r2=1174993&view=diff ============================================================================== --- maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java (original) +++ maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/AbstractHttpClientWagon.java Fri Sep 23 20:11:49 2011 @@ -684,7 +684,7 @@ public abstract class AbstractHttpClient } } - if ( config == null || config.getConnectionTimeout() == HttpMethodConfiguration.DEFAULT_CONNECTION_TIMEOUT ) + if ( config == null || config.getReadTimeout() == HttpMethodConfiguration.DEFAULT_CONNECTION_TIMEOUT ) { method.getParams().setParameter( CoreConnectionPNames.SO_TIMEOUT, getTimeout() ); } Modified: maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/HttpMethodConfiguration.java URL: http://svn.apache.org/viewvc/maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/HttpMethodConfiguration.java?rev=1174993&r1=1174992&r2=1174993&view=diff ============================================================================== --- maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/HttpMethodConfiguration.java (original) +++ maven/wagon/trunk/wagon-providers/wagon-http-shared4/src/main/java/org/apache/maven/wagon/shared/http/HttpMethodConfiguration.java Fri Sep 23 20:11:49 2011 @@ -40,6 +40,8 @@ public class HttpMethodConfiguration public static final int DEFAULT_CONNECTION_TIMEOUT = 60000; + public static final int DEFAULT_READ_TIMEOUT = 60000; + private static final String COERCE_PATTERN = "%(\\w+),(.+)"; private Boolean useDefaultHeaders; @@ -50,6 +52,8 @@ public class HttpMethodConfiguration private int connectionTimeout = DEFAULT_CONNECTION_TIMEOUT; + private int readTimeout = DEFAULT_READ_TIMEOUT; + public boolean isUseDefaultHeaders() { return useDefaultHeaders == null || useDefaultHeaders.booleanValue(); @@ -111,6 +115,17 @@ public class HttpMethodConfiguration return this; } + public int getReadTimeout() + { + return readTimeout; + } + + public HttpMethodConfiguration setReadTimeout( int readTimeout ) + { + this.readTimeout = readTimeout; + return this; + } + public HttpParams asMethodParams( HttpParams defaults ) { if ( !hasParams() ) @@ -127,7 +142,7 @@ public class HttpMethodConfiguration private boolean hasParams() { - if ( connectionTimeout < 1 && params == null ) + if ( connectionTimeout < 1 && params == null && readTimeout < 1 ) { return false; } @@ -144,7 +159,12 @@ public class HttpMethodConfiguration if ( connectionTimeout > 0 ) { - p.setParameter( CoreConnectionPNames.SO_TIMEOUT, connectionTimeout ); + p.setParameter( CoreConnectionPNames.CONNECTION_TIMEOUT, connectionTimeout ); + } + + if ( readTimeout > 0 ) + { + p.setParameter( CoreConnectionPNames.SO_TIMEOUT, readTimeout ); } if ( params != null ) @@ -243,8 +263,8 @@ public class HttpMethodConfiguration { Map.Entry<String, String> entry = (Map.Entry) it.next(); - String key = (String) entry.getKey(); - String value = (String) entry.getValue(); + String key = entry.getKey(); + String value = entry.getValue(); Header header = new BasicHeader( key, value ); result[index++] = header; @@ -258,6 +278,7 @@ public class HttpMethodConfiguration HttpMethodConfiguration copy = new HttpMethodConfiguration(); copy.setConnectionTimeout( getConnectionTimeout() ); + copy.setReadTimeout( getReadTimeout() ); if ( getHeaders() != null ) { copy.setHeaders( getHeaders() ); @@ -303,6 +324,11 @@ public class HttpMethodConfiguration result.setConnectionTimeout( local.getConnectionTimeout() ); } + if ( local.getReadTimeout() != DEFAULT_READ_TIMEOUT ) + { + result.setReadTimeout( local.getReadTimeout() ); + } + if ( local.getHeaders() != null ) { result.getHeaders().putAll( local.getHeaders() );