Hello Tony, thanks for your contribution, patch submitted.
Regards, Antoine On Feb 28, 2014, at 10:15 PM, Tony Likhite <t...@likhite.net> wrote: > We needed this to get Ivy working with a client's extremely paranoid HTTP > proxy setup. It insisted on a specific User-Agent header, so we added > support for -Dhttp.agent (same as Ant). > > -- > > Index: src/java/org/apache/ivy/util/url/AbstractURLHandler.java > =================================================================== > --- src/java/org/apache/ivy/util/url/AbstractURLHandler.java (revision > 1573075) > +++ src/java/org/apache/ivy/util/url/AbstractURLHandler.java (working > copy) > @@ -30,6 +30,7 @@ > import java.util.zip.GZIPInputStream; > import java.util.zip.Inflater; > import java.util.zip.InflaterInputStream; > +import org.apache.ivy.Ivy; > > public abstract class AbstractURLHandler implements URLHandler { > > @@ -62,6 +63,14 @@ > return getURLInfo(url, timeout).getLastModified(); > } > > + protected String getUserAgent() { > + String userAgent = System.getProperty("http.agent"); > + if (userAgent == null) { > + userAgent = "Apache Ivy/" + Ivy.getIvyVersion(); > + } > + return userAgent; > + } > + > protected void validatePutStatusCode(URL dest, int statusCode, String > statusMessage) > throws IOException { > switch (statusCode) { > Index: src/java/org/apache/ivy/util/url/BasicURLHandler.java > =================================================================== > --- src/java/org/apache/ivy/util/url/BasicURLHandler.java (revision > 1573075) > +++ src/java/org/apache/ivy/util/url/BasicURLHandler.java (working copy) > @@ -64,7 +64,7 @@ > try { > url = normalizeToURL(url); > con = url.openConnection(); > - con.setRequestProperty("User-Agent", "Apache Ivy/" + > Ivy.getIvyVersion()); > + con.setRequestProperty("User-Agent", getUserAgent()); > if (con instanceof HttpURLConnection) { > HttpURLConnection httpCon = (HttpURLConnection) con; > if (getRequestMethod() == URLHandler.REQUEST_METHOD_HEAD) { > @@ -159,7 +159,7 @@ > try { > url = normalizeToURL(url); > conn = url.openConnection(); > - conn.setRequestProperty("User-Agent", "Apache Ivy/" + > Ivy.getIvyVersion()); > + conn.setRequestProperty("User-Agent", getUserAgent()); > conn.setRequestProperty("Accept-Encoding", "gzip,deflate"); > if (conn instanceof HttpURLConnection) { > HttpURLConnection httpCon = (HttpURLConnection) conn; > @@ -193,7 +193,7 @@ > try { > src = normalizeToURL(src); > srcConn = src.openConnection(); > - srcConn.setRequestProperty("User-Agent", "Apache Ivy/" + > Ivy.getIvyVersion()); > + srcConn.setRequestProperty("User-Agent", getUserAgent()); > srcConn.setRequestProperty("Accept-Encoding", "gzip,deflate"); > if (srcConn instanceof HttpURLConnection) { > HttpURLConnection httpCon = (HttpURLConnection) srcConn; > @@ -244,7 +244,7 @@ > conn = (HttpURLConnection) dest.openConnection(); > conn.setDoOutput(true); > conn.setRequestMethod("PUT"); > - conn.setRequestProperty("User-Agent", "Apache Ivy/" + > Ivy.getIvyVersion()); > + conn.setRequestProperty("User-Agent", getUserAgent()); > conn.setRequestProperty("Content-type", > "application/octet-stream"); > conn.setRequestProperty("Content-length", > Long.toString(source.length())); > conn.setInstanceFollowRedirects(true); > Index: src/java/org/apache/ivy/util/url/HttpClientHandler.java > =================================================================== > --- src/java/org/apache/ivy/util/url/HttpClientHandler.java (revision > 1573075) > +++ src/java/org/apache/ivy/util/url/HttpClientHandler.java (working > copy) > @@ -295,7 +295,7 @@ > > // user-agent > > httpClient.getParams().setParameter(HttpMethodParams.USER_AGENT, > - "Apache Ivy/" + Ivy.getIvyVersion()); > + getUserAgent()); > > // authentication > > httpClient.getParams().setParameter(CredentialsProvider.PROVIDER, > > > -- > Tony Likhite --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@ant.apache.org For additional commands, e-mail: dev-h...@ant.apache.org