Changeset bb56a11 for apps/ministreaming


Ignore:
Timestamp:
Dec 8, 2015 5:27:03 AM (5 years ago)
Author:
str4d <str4d@…>
Branches:
master
Children:
77a6db1
Parents:
843e2a8 (diff), 7ea2be3 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

propagate from branch 'i2p.i2p.unittests' (head 53586f73fb813f519cdb6a1f7b1b40efec2e35dc)

to branch 'i2p.i2p' (head 628a2c591ca44095e2f93acd026046d4512cf692)

Location:
apps/ministreaming/java/src/net/i2p/client/streaming
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • apps/ministreaming/java/src/net/i2p/client/streaming/I2PSocketEepGet.java

    r843e2a8 rbb56a11  
    66import java.net.MalformedURLException;
    77import java.net.UnknownHostException;
    8 import java.net.URL;
     8import java.net.URI;
     9import java.net.URISyntaxException;
    910import java.util.Locale;
    1011import java.util.Properties;
     
    113114
    114115        try {
    115             URL url = new URL(_actualURL);
    116             if ("http".equals(url.getProtocol())) {
     116            URI url = new URI(_actualURL);
     117            if ("http".equals(url.getScheme())) {
    117118                String host = url.getHost();
     119                if (host == null)
     120                    throw new MalformedURLException("no hostname: " + _actualURL);
    118121                int port = url.getPort();
    119122                if (port <= 0 || port > 65535)
     
    124127                // as the naming service accepts B64KEY (but not B64KEY.i2p atm)
    125128                if ("i2p".equals(host)) {
    126                     String file = url.getFile();
     129                    String file = url.getRawPath();
    127130                    try {
    128131                        int slash = 1 + file.substring(1).indexOf("/");
    129132                        host = file.substring(1, slash);
    130133                        _actualURL = "http://" + host + file.substring(slash);
     134                        String query = url.getRawQuery();
     135                        if (query != null)
     136                            _actualURL = _actualURL + '?' + query;
    131137                    } catch (IndexOutOfBoundsException ioobe) {
    132                         throw new IOException("Bad /i2p/ format: " + _actualURL);
     138                        throw new MalformedURLException("Bad /i2p/ format: " + _actualURL);
    133139                    }
    134140                }
     
    174180                _socket = _socketManager.connect(dest, opts);
    175181            } else {
    176                 throw new IOException("Unsupported protocol: " + _actualURL);
     182                throw new MalformedURLException("Unsupported protocol: " + _actualURL);
    177183            }
    178         } catch (MalformedURLException mue) {
    179             throw new IOException("Request URL is invalid: " + _actualURL);
     184        } catch (URISyntaxException use) {
     185            IOException ioe = new MalformedURLException("Bad URL");
     186            ioe.initCause(use);
     187            throw ioe;
    180188        } catch (I2PException ie) {
    181             throw new IOException(ie.toString());
     189            throw new IOException("I2P error", ie);
    182190        }
    183191
     
    203211    protected String getRequest() throws IOException {
    204212        StringBuilder buf = new StringBuilder(2048);
    205         URL url = new URL(_actualURL);
     213        URI url;
     214        try {
     215            url = new URI(_actualURL);
     216        } catch (URISyntaxException use) {
     217            IOException ioe = new MalformedURLException("Bad URL");
     218            ioe.initCause(use);
     219            throw ioe;
     220        }
    206221        //String host = url.getHost();
    207         String path = url.getPath();
    208         String query = url.getQuery();
     222        String path = url.getRawPath();
     223        String query = url.getRawQuery();
    209224        if (query != null)
    210225            path = path + '?' + query;
     
    233248            buf.append("User-Agent: " + USER_AGENT + "\r\n");
    234249        buf.append("\r\n");
     250        if (_log.shouldDebug())
     251            _log.debug("Request: [" + buf.toString() + "]");
    235252        return buf.toString();
    236253    }
     
    265282                }
    266283            }
    267         } catch (Exception e) {
     284        } catch (RuntimeException e) {
    268285            e.printStackTrace();
    269286            usage();
  • apps/ministreaming/java/src/net/i2p/client/streaming/I2PSocketManagerFactory.java

    r843e2a8 rbb56a11  
    196196            try {
    197197                client.createDestination(keyStream, getSigType(opts));
    198             } catch (Exception e) {
     198            } catch (I2PException e) {
     199                throw new I2PSessionException("Error creating keys", e);
     200            } catch (IOException e) {
    199201                throw new I2PSessionException("Error creating keys", e);
    200202            }
     
    257259            if (!I2PSocketManager.class.isAssignableFrom(cls))
    258260                throw new IllegalArgumentException(classname + " is not an I2PSocketManager");
    259             Constructor<I2PSocketManager> con = (Constructor<I2PSocketManager>)
    260                   cls.getConstructor(new Class[] {I2PAppContext.class, I2PSession.class, Properties.class, String.class});
    261             I2PSocketManager mgr = con.newInstance(new Object[] {context, session, opts, name});
     261            Constructor<?> con =
     262                  cls.getConstructor(I2PAppContext.class, I2PSession.class, Properties.class, String.class);
     263            I2PSocketManager mgr = (I2PSocketManager) con.newInstance(new Object[] {context, session, opts, name});
    262264            return mgr;
    263265        } catch (Throwable t) {
Note: See TracChangeset for help on using the changeset viewer.