IPAddressResourceRecord

This commit is contained in:
陈国伟 2021-11-18 08:57:19 +08:00
parent 21bf7932de
commit 99a8596a8a

View File

@ -190,22 +190,22 @@ namespace FastGithub.DomainResolve
/// <returns></returns> /// <returns></returns>
private static async Task<IList<IPAddressResourceRecord>> GetAddressRecordsAsync(IRequestResolver resolver, string domain, CancellationToken cancellationToken) private static async Task<IList<IPAddressResourceRecord>> GetAddressRecordsAsync(IRequestResolver resolver, string domain, CancellationToken cancellationToken)
{ {
var answerRecords = new List<IPAddressResourceRecord>(); var addressRecords = new List<IPAddressResourceRecord>();
if (Socket.OSSupportsIPv4 == true) if (Socket.OSSupportsIPv4 == true)
{ {
var records = await GetAnswerAsync(RecordType.A); var records = await GetRecordsAsync(RecordType.A);
answerRecords.AddRange(records.OfType<IPAddressResourceRecord>()); addressRecords.AddRange(records);
} }
if (Socket.OSSupportsIPv6 == true) if (Socket.OSSupportsIPv6 == true)
{ {
var records = await GetAnswerAsync(RecordType.AAAA); var records = await GetRecordsAsync(RecordType.AAAA);
answerRecords.AddRange(records.OfType<IPAddressResourceRecord>()); addressRecords.AddRange(records);
} }
return answerRecords; return addressRecords;
async Task<IList<IResourceRecord>> GetAnswerAsync(RecordType recordType) async Task<IEnumerable<IPAddressResourceRecord>> GetRecordsAsync(RecordType recordType)
{ {
var request = new Request var request = new Request
{ {
@ -216,7 +216,7 @@ namespace FastGithub.DomainResolve
request.Questions.Add(new Question(new Domain(domain), recordType)); request.Questions.Add(new Question(new Domain(domain), recordType));
var clientRequest = new ClientRequest(resolver, request); var clientRequest = new ClientRequest(resolver, request);
var response = await clientRequest.Resolve(cancellationToken); var response = await clientRequest.Resolve(cancellationToken);
return response.AnswerRecords; return response.AnswerRecords.OfType<IPAddressResourceRecord>();
} }
} }