Example usage for org.apache.http.conn.util PublicSuffixList getExceptions

List of usage examples for org.apache.http.conn.util PublicSuffixList getExceptions

Introduction

In this page you can find the example usage for org.apache.http.conn.util PublicSuffixList getExceptions.

Prototype

public List<String> getExceptions() 

Source Link

Usage

From source file:net.i2p.util.I2PSSLSocketFactory.java

/**
 *  Merge two PublicSuffixLists//from   w w w .  ja v  a  2  s.  co m
 *  Have to do this because they are unmodifiable
 *
 *  @since 0.9.20
 */
private static PublicSuffixList merge(PublicSuffixList a, PublicSuffixList b) {
    List<String> ar = a.getRules();
    List<String> ae = a.getExceptions();
    List<String> br = b.getRules();
    List<String> be = b.getExceptions();
    List<String> cr = new ArrayList<String>(ar.size() + br.size());
    List<String> ce = new ArrayList<String>(ae.size() + be.size());
    cr.addAll(ar);
    cr.addAll(br);
    ce.addAll(ae);
    ce.addAll(be);
    return new PublicSuffixList(cr, ce);
}

From source file:net.i2p.util.I2PSSLSocketFactory.java

/**
 *  From Apache PublicSuffixMatcherLoader.getDefault()
 *
 *  https://publicsuffix.org/list/effective_tld_names.dat
 *  What does this get us?/* w ww . j  a va2  s  . co  m*/
 *  Deciding whether to issue or accept an SSL wildcard certificate for *.public.suffix.
 *
 *  @return null on failure
 *  @since 0.9.20
 */
private static PublicSuffixMatcher getDefaultMatcher(I2PAppContext ctx) {
    synchronized (I2PSSLSocketFactory.class) {
        if (!_matcherLoaded) {
            String geoDir = ctx.getProperty(PROP_GEOIP_DIR, GEOIP_DIR_DEFAULT);
            File geoFile = new File(geoDir);
            if (!geoFile.isAbsolute())
                geoFile = new File(ctx.getBaseDir(), geoDir);
            geoFile = new File(geoFile, PUBLIC_SUFFIX_LIST);
            Log log = ctx.logManager().getLog(I2PSSLSocketFactory.class);
            if (geoFile.exists()) {
                try {
                    // we can't use PublicSuffixMatcherLoader.load() here because we
                    // want to add some of our own and a PublicSuffixMatcher's
                    // underlying PublicSuffixList is immutable and inaccessible
                    long begin = System.currentTimeMillis();
                    InputStream in = null;
                    PublicSuffixList list = new PublicSuffixList(Arrays.asList(ADDITIONAL_TLDS),
                            Collections.<String>emptyList());
                    try {
                        in = new FileInputStream(geoFile);
                        PublicSuffixList list2 = new PublicSuffixListParser()
                                .parse(new InputStreamReader(in, "UTF-8"));
                        list = merge(list, list2);
                    } finally {
                        try {
                            if (in != null)
                                in.close();
                        } catch (IOException ioe) {
                        }
                    }
                    DEFAULT_MATCHER = new PublicSuffixMatcher(list.getRules(), list.getExceptions());
                    if (log.shouldWarn())
                        log.warn("Loaded " + geoFile + " in " + (System.currentTimeMillis() - begin)
                                + " ms and created list with " + list.getRules().size() + " entries and "
                                + list.getExceptions().size() + " exceptions");
                } catch (IOException ex) {
                    log.error("Failure loading public suffix list from " + geoFile, ex);
                    // DEFAULT_MATCHER remains null
                }
            } else {
                List<String> list = new ArrayList<String>(320);
                addCountries(ctx, list);
                list.addAll(Arrays.asList(DEFAULT_TLDS));
                list.addAll(Arrays.asList(ADDITIONAL_TLDS));
                DEFAULT_MATCHER = new PublicSuffixMatcher(list, null);
                if (log.shouldWarn())
                    log.warn("No public suffix list found at " + geoFile + " - created default with "
                            + list.size() + " entries");
            }
        }
        _matcherLoaded = true;
    }
    return DEFAULT_MATCHER;
}

From source file:org.apache.http.conn.util.PublicSuffixMatcherLoader.java

private static PublicSuffixMatcher load(final InputStream in) throws IOException {
    final PublicSuffixList list = new PublicSuffixListParser().parse(new InputStreamReader(in, Consts.UTF_8));
    return new PublicSuffixMatcher(list.getRules(), list.getExceptions());
}