Ticket #1641: josm-httpauth.patch
File josm-httpauth.patch, 2.9 KB (added by , 16 years ago) |
---|
-
src/org/openstreetmap/josm/data/Preferences.java
550 550 Properties sysProp = System.getProperties(); 551 551 sysProp.put("proxySet", "true"); 552 552 sysProp.put("http.proxyHost", get(ProxyPreferences.PROXY_HOST)); 553 sysProp.put(" proxyPort", get(ProxyPreferences.PROXY_PORT));553 sysProp.put("http.proxyPort", get(ProxyPreferences.PROXY_PORT)); 554 554 if (!getBoolean(ProxyPreferences.PROXY_ANONYMOUS)) { 555 sysProp.put(" proxyUser", get(ProxyPreferences.PROXY_USER));556 sysProp.put(" proxyPassword", get(ProxyPreferences.PROXY_PASS));555 sysProp.put("http.proxyUser", get(ProxyPreferences.PROXY_USER)); 556 sysProp.put("http.proxyPassword", get(ProxyPreferences.PROXY_PASS)); 557 557 } 558 558 System.setProperties(sysProp); 559 559 } -
src/org/openstreetmap/josm/io/MyHttpURLConnection.java
4 4 import java.io.*; 5 5 import java.net.URL; 6 6 import java.net.Proxy; 7 import java.nio.ByteBuffer; 8 import java.nio.CharBuffer; 9 import java.nio.charset.CharacterCodingException; 10 import java.nio.charset.Charset; 11 import java.nio.charset.CharsetEncoder; 7 12 13 import org.openstreetmap.josm.Main; 14 import org.openstreetmap.josm.gui.preferences.ProxyPreferences; 15 import org.openstreetmap.josm.tools.Base64; 16 8 17 public class MyHttpURLConnection extends sun.net.www.protocol.http.HttpURLConnection { 9 protected MyHttpURLConnection(URL u, Proxy p, sun.net.www.protocol.http.Handler handler) 18 19 private void addProxyAuth() throws CharacterCodingException 20 { 21 if (Main.pref.getBoolean(ProxyPreferences.PROXY_ENABLE)) { 22 CharsetEncoder encoder = Charset.forName("UTF-8").newEncoder(); 23 String auth = Main.pref.get(ProxyPreferences.PROXY_USER) + ":" + Main.pref.get(ProxyPreferences.PROXY_PASS); 24 ByteBuffer bytes = encoder.encode(CharBuffer.wrap(auth)); 25 addRequestProperty("Proxy-Authorization", "Basic " + Base64.encode(bytes)); 26 } 27 } 28 public MyHttpURLConnection(URL u, Proxy p, sun.net.www.protocol.http.Handler handler) 10 29 { 11 30 super(u,p,handler); 31 try { 32 addProxyAuth(); 33 } catch (CharacterCodingException e) { 34 System.err.println("Error adding proxy authentication"); 35 e.printStackTrace(); 36 } 12 37 } 13 38 14 39 public synchronized OutputStream getOutputStream()