MCPcopy Create free account
hub / github.com/DeNA/PacketProxy / processResponse

Method processResponse

src/main/java/core/org/xbill/DNS/Lookup.java:415–459  ·  view source on GitHub ↗
(Name name, SetResponse response)

Source from the content-addressed store, hash-verified

413}
414
415private void
416processResponse(Name name, SetResponse response) {
417 if (response.isSuccessful()) {
418 RRset [] rrsets = response.answers();
419 List l = new ArrayList();
420 Iterator it;
421 int i;
422
423 for (i = 0; i < rrsets.length; i++) {
424 it = rrsets[i].rrs();
425 while (it.hasNext())
426 l.add(it.next());
427 }
428
429 result = SUCCESSFUL;
430 answers = (Record []) l.toArray(new Record[l.size()]);
431 done = true;
432 } else if (response.isNXDOMAIN()) {
433 nxdomain = true;
434 doneCurrent = true;
435 if (iterations > 0) {
436 result = HOST_NOT_FOUND;
437 done = true;
438 }
439 } else if (response.isNXRRSET()) {
440 result = TYPE_NOT_FOUND;
441 answers = null;
442 done = true;
443 } else if (response.isCNAME()) {
444 CNAMERecord cname = response.getCNAME();
445 follow(cname.getTarget(), name);
446 } else if (response.isDNAME()) {
447 DNAMERecord dname = response.getDNAME();
448 try {
449 follow(name.fromDNAME(dname), name);
450 } catch (NameTooLongException e) {
451 result = UNRECOVERABLE;
452 error = "Invalid DNAME target";
453 done = true;
454 }
455 } else if (response.isDelegation()) {
456 // We shouldn't get a referral. Ignore it.
457 referral = true;
458 }
459}
460
461private void
462lookup(Name current) {

Callers 1

lookupMethod · 0.95

Calls 15

followMethod · 0.95
getTargetMethod · 0.95
isSuccessfulMethod · 0.80
answersMethod · 0.80
rrsMethod · 0.80
hasNextMethod · 0.80
nextMethod · 0.80
isNXDOMAINMethod · 0.80
isNXRRSETMethod · 0.80
isCNAMEMethod · 0.80
getCNAMEMethod · 0.80
isDNAMEMethod · 0.80

Tested by

no test coverage detected