Ticket #23688: local_url.patch

File local_url.patch, 1.7 KB (added by Emvee, 23 months ago)
  • src/org/openstreetmap/josm/plugins/utilsplugin2/customurl/OpenPageAction.java

     
    66
    77import java.awt.event.ActionEvent;
    88import java.awt.event.KeyEvent;
     9import java.io.IOException;
    910import java.io.UnsupportedEncodingException;
    1011import java.net.URLEncoder;
     12import java.net.HttpURLConnection;
     13import java.net.URL;
    1114import java.util.Collection;
    1215import java.util.regex.Matcher;
    1316import java.util.regex.Pattern;
     
    97100        for (int j = 0; j < i; j++) {
    98101            addr = addr.replace(keys[j], vals[j]);
    99102        }
     103
     104        // Local url: 127.0.0.1:<port>/
     105        Pattern pat_local = Pattern.compile("^http://127\\.0\\.0\\.1:\\d+/");
     106        Matcher m_local = pat_local.matcher(addr);
     107
    100108        try {
     109            if (m_local.find()) {
     110                Logging.info("Opening local: " + addr);
     111                URL url = new URL(addr);
     112                HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();
     113                urlConn.setRequestMethod("GET");
     114                if (urlConn.getResponseCode() != HttpURLConnection.HTTP_OK) {
     115                    throw new IOException(". GET response:" + urlConn.getResponseCode());
     116                }
     117
    101118            // See #12836 - do not load invalid history
    102             if (!addr.endsWith("/0/history")) {
     119            } else if (!addr.endsWith("/0/history")) {
    103120                OpenBrowser.displayUrl(addr);
    104121            }
    105122        } catch (Exception ex) {