diff options
author | Shawn O. Pearce <spearce@spearce.org> | 2009-10-03 15:53:24 -0700 |
---|---|---|
committer | Shawn O. Pearce <spearce@spearce.org> | 2009-10-05 12:17:11 -0700 |
commit | 41e4b2fed4cf8da887fb5384f61bda823c51970c (patch) | |
tree | 5b395a52c0125be505430dae81727a12d0d29e1a | |
parent | 8d5510d51c27d9fccbeb9cfd82f218a5c3ebf530 (diff) | |
download | jgit-41e4b2fed4cf8da887fb5384f61bda823c51970c.tar.gz jgit-41e4b2fed4cf8da887fb5384f61bda823c51970c.zip |
Move HttpSupport's configureHttpProxy to jgit-pgm
This is the last chunk of code in jgit-core which references the awtui
package. Moving it to the only consumer in jgit-pgm allows us to move
the awtui package over to the jgit-awtui module.
Change-Id: I2fd81be2076117b2f2c5f8ed45de7f29272af6cf
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
-rw-r--r-- | org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Main.java | 54 | ||||
-rw-r--r-- | org.eclipse.jgit/src/org/eclipse/jgit/util/HttpSupport.java | 42 |
2 files changed, 46 insertions, 50 deletions
diff --git a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Main.java b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Main.java index 625132ae5a..45d941e2d3 100644 --- a/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Main.java +++ b/org.eclipse.jgit.pgm/src/org/eclipse/jgit/pgm/Main.java @@ -1,6 +1,4 @@ /* - * Copyright (C) 2008-2009, Google Inc. - * Copyright (C) 2008, Marek Zawirski <marek.zawirski@gmail.com> * Copyright (C) 2006, Robin Rosenberg <robin.rosenberg@dewire.com> * Copyright (C) 2008, Shawn O. Pearce <spearce@spearce.org> * and other copyright owners as documented in the project's IP log. @@ -47,19 +45,20 @@ package org.eclipse.jgit.pgm; import java.io.File; +import java.net.MalformedURLException; +import java.net.URL; import java.util.ArrayList; import java.util.List; -import org.kohsuke.args4j.Argument; -import org.kohsuke.args4j.CmdLineException; -import org.kohsuke.args4j.ExampleMode; -import org.kohsuke.args4j.Option; import org.eclipse.jgit.awtui.AwtAuthenticator; import org.eclipse.jgit.errors.TransportException; import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.pgm.opt.CmdLineParser; import org.eclipse.jgit.pgm.opt.SubcommandHandler; -import org.eclipse.jgit.util.HttpSupport; +import org.kohsuke.args4j.Argument; +import org.kohsuke.args4j.CmdLineException; +import org.kohsuke.args4j.ExampleMode; +import org.kohsuke.args4j.Option; /** Command line entry point. */ public class Main { @@ -88,7 +87,7 @@ public class Main { final Main me = new Main(); try { AwtAuthenticator.install(); - HttpSupport.configureHttpProxy(); + configureHttpProxy(); me.execute(argv); } catch (Die err) { System.err.println("fatal: " + err.getMessage()); @@ -181,4 +180,43 @@ public class Main { } return null; } + + /** + * Configure the JRE's standard HTTP based on <code>http_proxy</code>. + * <p> + * The popular libcurl library honors the <code>http_proxy</code> + * environment variable as a means of specifying an HTTP proxy for requests + * made behind a firewall. This is not natively recognized by the JRE, so + * this method can be used by command line utilities to configure the JRE + * before the first request is sent. + * + * @throws MalformedURLException + * the value in <code>http_proxy</code> is unsupportable. + */ + private static void configureHttpProxy() throws MalformedURLException { + final String s = System.getenv("http_proxy"); + if (s == null || s.equals("")) + return; + + final URL u = new URL((s.indexOf("://") == -1) ? "http://" + s : s); + if (!"http".equals(u.getProtocol())) + throw new MalformedURLException("Invalid http_proxy: " + s + + ": Only http supported."); + + final String proxyHost = u.getHost(); + final int proxyPort = u.getPort(); + + System.setProperty("http.proxyHost", proxyHost); + if (proxyPort > 0) + System.setProperty("http.proxyPort", String.valueOf(proxyPort)); + + final String userpass = u.getUserInfo(); + if (userpass != null && userpass.contains(":")) { + final int c = userpass.indexOf(':'); + final String user = userpass.substring(0, c); + final String pass = userpass.substring(c + 1); + AwtAuthenticator.add(new AwtAuthenticator.CachedAuthentication( + proxyHost, proxyPort, user, pass)); + } + } } diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/util/HttpSupport.java b/org.eclipse.jgit/src/org/eclipse/jgit/util/HttpSupport.java index 40134d0e4f..3910c8bd7f 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/util/HttpSupport.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/util/HttpSupport.java @@ -47,57 +47,15 @@ import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.ConnectException; import java.net.HttpURLConnection; -import java.net.MalformedURLException; import java.net.Proxy; import java.net.ProxySelector; import java.net.URISyntaxException; import java.net.URL; import java.net.URLEncoder; -import org.eclipse.jgit.awtui.AwtAuthenticator; - /** Extra utilities to support usage of HTTP. */ public class HttpSupport { /** - * Configure the JRE's standard HTTP based on <code>http_proxy</code>. - * <p> - * The popular libcurl library honors the <code>http_proxy</code> - * environment variable as a means of specifying an HTTP proxy for requests - * made behind a firewall. This is not natively recognized by the JRE, so - * this method can be used by command line utilities to configure the JRE - * before the first request is sent. - * - * @throws MalformedURLException - * the value in <code>http_proxy</code> is unsupportable. - */ - public static void configureHttpProxy() throws MalformedURLException { - final String s = System.getenv("http_proxy"); - if (s == null || s.equals("")) - return; - - final URL u = new URL((s.indexOf("://") == -1) ? "http://" + s : s); - if (!"http".equals(u.getProtocol())) - throw new MalformedURLException("Invalid http_proxy: " + s - + ": Only http supported."); - - final String proxyHost = u.getHost(); - final int proxyPort = u.getPort(); - - System.setProperty("http.proxyHost", proxyHost); - if (proxyPort > 0) - System.setProperty("http.proxyPort", String.valueOf(proxyPort)); - - final String userpass = u.getUserInfo(); - if (userpass != null && userpass.contains(":")) { - final int c = userpass.indexOf(':'); - final String user = userpass.substring(0, c); - final String pass = userpass.substring(c + 1); - AwtAuthenticator.add(new AwtAuthenticator.CachedAuthentication( - proxyHost, proxyPort, user, pass)); - } - } - - /** * URL encode a value string into an output buffer. * * @param urlstr |