in main/src/main/java/org/apache/james/jdkim/impl/DNSPublicKeyRecordRetriever.java [53:81]
public List<String> getRecords(CharSequence methodAndOptions,
CharSequence selector, CharSequence token)
throws TempFailException, PermFailException {
if (!"dns/txt".equals(methodAndOptions))
throw new PermFailException("Only dns/txt is supported: "
+ methodAndOptions + " options unsupported.");
Lookup query;
try {
query = new Lookup(selector + "._domainkey." + token, Type.TXT);
} catch (TextParseException e) {
throw new PermFailException("Invalid dns record", e);
}
query.setResolver(resolver);
Record[] rr = query.run();
if (query.getResult() == Lookup.TRY_AGAIN) {
throw new TempFailException(query.getErrorString());
}
if (rr == null || rr.length == 0) {
return Collections.emptyList();
}
return Arrays.stream(rr)
.filter(r -> r.getType() == Type.TXT)
.map(r -> String.join("", ((TXTRecord) r).getStrings()))
.collect(Collectors.toList());
}