Skip to content

Instantly share code, notes, and snippets.

@glucn
Last active April 26, 2020 04:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save glucn/8b13e2187c60d8972d655f29fc65c0f6 to your computer and use it in GitHub Desktop.
Save glucn/8b13e2187c60d8972d655f29fc65c0f6 to your computer and use it in GitHub Desktop.
Mock DNS Server in Java - application code
import org.xbill.DNS.Lookup;
import org.xbill.DNS.Name;
import org.xbill.DNS.Record;
import org.xbill.DNS.Resolver;
import org.xbill.DNS.TextParseException;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
public class LookupUtil {
public static List<String> forNameType(Resolver resolver, String nameStr, int type) {
Name name;
try {
name = Name.fromString(nameStr);
} catch (TextParseException e) {
throw new IllegalArgumentException();
}
Lookup lookup = new Lookup(name, type);
lookup.setResolver(resolver);
lookup.setCache(null);
lookup.run();
if (lookup.getResult() != Lookup.SUCCESSFUL) {
throw new RuntimeException(lookup.getErrorString());
}
return Arrays.stream(lookup.getAnswers())
.map(Record::rdataToString)
.collect(Collectors.toList());
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment