public synchronized String getShortName() { if (_shortName == null) { String shortHostName; try { InternetDomainName domainName = InternetDomainName.from(_hostName); shortHostName = domainName.parts().get(0); } catch (Exception e) { shortHostName = _hostName; } if (_tableType == TableType.OFFLINE) { _shortName = shortHostName + SHORT_OFFLINE_SUFFIX; } else { _shortName = shortHostName + SHORT_REALTIME_SUFFIX; } } return _shortName; }
/** * As per <a href="https://tools.ietf.org/html/rfc952">RFC-952</a> domain names should begin with a letter. * That said, <a href="https://tools.ietf.org/html/rfc1123#page-13">RFC-1123</a> updated it say that it may also begin * with a digit. Indeed, <a href="http://9292.nl/">this</a> is a valid domain name. Only the top-level domain (i.e. the * last portion) has to be non-numeric. More clarification on this matter is in * <a href="https://tools.ietf.org/html/rfc3696#section-2">RFC-3696</a> * * A potentially faster solution is * * if (first char is a digit) { * it is probably ipv4; * return name; * } else { * it could be ipv6 (in which case no dots), or a hostname * return substring before the first dot. * } * * It will fail if there are host names starting with a digit, but will work right otherwise. */ private String makeShortHostName(final String name) { try { InternetDomainName domainName = InternetDomainName.from(name); return domainName.parts().get(0); } catch (Exception e) { return name; } }
String ret = idn.publicSuffix().toString(); if(ret.startsWith("InternetDomainName")) { return Joiner.on(".").join(idn.publicSuffix().parts());
Set<String> nonePublicDomainParts(String uriHost) { InternetDomainName fullDomainName = InternetDomainName.from(uriHost); InternetDomainName publicDomainName = fullDomainName.publicSuffix(); Set<String> nonePublicParts = new HashSet<String>(fullDomainName.parts()); nonePublicParts.removeAll(publicDomainName.parts()); return nonePublicParts; }
public static String getTopLevelDomain(String uri) { InternetDomainName fullDomainName = InternetDomainName.from(uri); InternetDomainName publicDomainName = fullDomainName.topPrivateDomain(); String topDomain = ""; Iterator<String> it = publicDomainName.parts().iterator(); while(it.hasNext()){ String part = it.next(); if(!topDomain.isEmpty())topDomain += "."; topDomain += part; } return topDomain; }
private String extractCompanyFromHostName(String hostname) { try { InternetDomainName domainName = InternetDomainName.from(hostname); return Normalize.brand(domainName.topPrivateDomain().parts().get(0)); } catch (RuntimeException e) { return null; } }
public static String extractPublicSuffixFromHost( String host ) { if( host == null ) return null; // Parse out the public suffix: InternetDomainName domainName; try { domainName = InternetDomainName.from(host); } catch( Exception e ) { return null; } InternetDomainName suffix = null; if( host.endsWith(".uk")) { ImmutableList<String> parts = domainName.parts(); if( parts.size() >= 2 ) { suffix = InternetDomainName.from(parts.get(parts.size() - 2) + "." + parts.get(parts.size() - 1)); } } else { suffix = domainName.publicSuffix(); } // Return a value: if( suffix == null ) return null; return suffix.toString(); }
public static String extractPublicSuffixFromHost( String host ) { if( host == null ) return null; // Parse out the public suffix: InternetDomainName domainName; try { domainName = InternetDomainName.from(host); } catch( Exception e ) { return null; } InternetDomainName suffix = null; if( host.endsWith(".uk")) { ImmutableList<String> parts = domainName.parts(); if( parts.size() >= 2 ) { suffix = InternetDomainName.from(parts.get(parts.size() - 2) + "." + parts.get(parts.size() - 1)); } } else { suffix = domainName.publicSuffix(); } // Return a value: if( suffix == null ) return null; return suffix.toString(); }
@Override public String apply(Endpoint input) { if (input.getRegion() != null) return input.getRegion(); String host = input.getPublicURL().getHost(); if (InternetDomainName.isValid(host)) { InternetDomainName domain = InternetDomainName.from(host); return domain.parts().get(0); } return provider; } }
@Override public String apply(Endpoint input) { if (input.getRegion() != null) return input.getRegion(); String host = input.getPublicURL().getHost(); if (InternetDomainName.isValid(host)) { InternetDomainName domain = InternetDomainName.from(host); return domain.parts().get(0); } return provider; } }
@Override public String apply(Endpoint input) { if (input.getRegion() != null) return input.getRegion(); String host = input.getPublicURL().getHost(); if (InternetDomainName.isValid(host)) { InternetDomainName domain = InternetDomainName.from(host); return domain.parts().get(0); } return provider; } }
@Override public String apply(Endpoint input) { if (input.getRegion() != null) return input.getRegion(); String host = input.getPublicURL().getHost(); if (InternetDomainName.isValid(host)) { InternetDomainName domain = InternetDomainName.from(host); return domain.parts().get(0); } return provider; } }
ImmutableList<String> parts = domainName.parts(); if( parts.size() >= 3 ) { suffix = InternetDomainName.from(parts.get(parts.size() - 3)
ImmutableList<String> parts = domainName.parts(); if( parts.size() >= 3 ) { suffix = InternetDomainName.from(parts.get(parts.size() - 3)
InternetDomainName domainName = InternetDomainName.from(returnhost); if (domainName.isTopPrivateDomain() || domainName.isUnderPublicSuffix()) { topDomain = DOT_JOINER.join(domainName.topPrivateDomain().parts());