-
Notifications
You must be signed in to change notification settings - Fork 23
Open
Description
I wasn't able to use walkmod behind a corporate proxy, because the PrintPluginsCommand tries connect to the MVN_SEARCH_URL to get all available plugins and walks into an Exception.
I was able to avoid this issue by writing a ProxyUrlUtil
package org.walkmod.util;
import java.io.IOException;
import java.io.InputStream;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.Proxy.Type;
import java.net.URL;
public class ProxyUrlUtil {
public static InputStream openURL(String url) throws IOException {
String[] proxyHost = System.getProperty("http.proxyHost").split("\\."); //$NON-NLS-1$ //$NON-NLS-2$
int proxyPort = Integer.parseInt(System.getProperty("http.proxyPort")); //$NON-NLS-1$
Proxy proxy = null;
if (proxyHost != null) {
byte[] proxyAddress = new byte[4];
for (int i = 0; i < 4; i++) {
proxyAddress[i] = (byte) Integer.parseInt(proxyHost[i]);
}
InetAddress address = InetAddress.getByAddress(proxyAddress);
InetSocketAddress socket = new InetSocketAddress(address, proxyPort);
proxy = new Proxy(Type.HTTP, socket);
}
if (proxy != null) {
return new URL(url).openConnection(proxy).getInputStream();
} else {
return new URL(url).openStream();
}
}
}
and using it in the org.walkmod.commands.PrintPluginsCommand
is = ProxyUrlUtil.openURL(MVN_SEARCH_URL);
projectIs = ProxyUrlUtil.openURL(artifactDetailsURL);
Furthermore you have to insert your http.proxyHost and http.proxyPort in the the walkmod.bat
@set WALKMOD_OPTS=-Dhttp.proxyHost=<MY_PROXY_HOST> -Dhttp.proxyPort=<MY_PROXY_PORT>
Metadata
Metadata
Assignees
Labels
No labels