public List getRecords()

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());
    }