[MTOMCAT-278] Ignoring nonProxyHosts during deployment
Submitted by John Gregg
git-svn-id: https://svn.apache.org/repos/asf/tomcat/maven-plugin/trunk@1623908 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/common-tomcat-maven-plugin/src/main/java/org/apache/tomcat/maven/common/deployer/TomcatManager.java b/common-tomcat-maven-plugin/src/main/java/org/apache/tomcat/maven/common/deployer/TomcatManager.java
index bf40886..fd79b9b 100644
--- a/common-tomcat-maven-plugin/src/main/java/org/apache/tomcat/maven/common/deployer/TomcatManager.java
+++ b/common-tomcat-maven-plugin/src/main/java/org/apache/tomcat/maven/common/deployer/TomcatManager.java
@@ -42,6 +42,8 @@
import org.apache.http.impl.conn.PoolingClientConnectionManager;
import org.apache.http.protocol.BasicHttpContext;
import org.apache.maven.settings.Proxy;
+import org.apache.maven.wagon.proxy.ProxyInfo;
+import org.apache.maven.wagon.proxy.ProxyUtils;
import java.io.File;
import java.io.FileInputStream;
@@ -294,15 +296,19 @@
*/
private void applyProxy()
{
- if ( this.proxy != null )
- {
- HttpHost proxy = new HttpHost( this.proxy.getHost(), this.proxy.getPort(), this.proxy.getProtocol() );
- httpClient.getParams().setParameter( ConnRoutePNames.DEFAULT_PROXY, proxy );
- if ( this.proxy.getUsername() != null )
- {
- httpClient.getCredentialsProvider().setCredentials(
- new AuthScope( this.proxy.getHost(), this.proxy.getPort() ),
- new UsernamePasswordCredentials( this.proxy.getUsername(), this.proxy.getPassword() ) );
+ if ( this.proxy != null ) {
+
+ ProxyInfo proxyInfo = new ProxyInfo();
+ proxyInfo.setNonProxyHosts(this.proxy.getNonProxyHosts());
+
+ if (!ProxyUtils.validateNonProxyHosts(proxyInfo, url.getHost())) {
+ HttpHost proxy = new HttpHost(this.proxy.getHost(), this.proxy.getPort(), this.proxy.getProtocol());
+ httpClient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
+ if (this.proxy.getUsername() != null) {
+ httpClient.getCredentialsProvider().setCredentials(
+ new AuthScope(this.proxy.getHost(), this.proxy.getPort()),
+ new UsernamePasswordCredentials(this.proxy.getUsername(), this.proxy.getPassword()));
+ }
}
}
else