public DNSLookupContinuation onDNSResponse()

in resolver/src/main/java/org/apache/james/jspf/policies/SPFRetriever.java [77:103]


        public DNSLookupContinuation onDNSResponse(
                DNSResponse response, SPFSession session)
                throws PermErrorException, NoneException,
                TempErrorException, NeutralException {
            try {
                List<String> spfR = response.getResponse();
                
                if (spfR == null || spfR.isEmpty()) {
                    
                    String currentDomain = session.getCurrentDomain();
                    return new DNSLookupContinuation(new DNSRequest(currentDomain, DNSRequest.TXT), new SPFRecordHandlerDNSResponseListener());

                } else {
                    
                    String record = extractSPFRecord(spfR);
                    if (record != null) {
                        session.setAttribute(SPF1Utils.ATTRIBUTE_SPF1_RECORD, new SPF1Record(record));
                    }
                    
                }
                
                return null;
                
            } catch (TimeoutException e) {
                throw new TempErrorException("Timeout querying dns");
            }
        }