|
@@ -1,4 +1,5 @@
|
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
|
+using Microsoft.Extensions.Options;
|
|
|
using System.Collections.Generic;
|
|
|
using System.Linq;
|
|
|
using System.Net;
|
|
@@ -13,6 +14,12 @@ namespace FastGithub.Scanner
|
|
|
{
|
|
|
private readonly object syncRoot = new();
|
|
|
private readonly List<GithubContext> contexts = new();
|
|
|
+ private readonly IOptionsMonitor<GithubLookupFactoryOptions> options;
|
|
|
+
|
|
|
+ public GithubScanResults(IOptionsMonitor<GithubLookupFactoryOptions> options)
|
|
|
+ {
|
|
|
+ this.options = options;
|
|
|
+ }
|
|
|
|
|
|
/// <summary>
|
|
|
/// 添加GithubContext
|
|
@@ -51,6 +58,11 @@ namespace FastGithub.Scanner
|
|
|
/// <returns></returns>
|
|
|
public IPAddress? FindBestAddress(string domain)
|
|
|
{
|
|
|
+ if (this.options.CurrentValue.Domains.Contains(domain) == false)
|
|
|
+ {
|
|
|
+ return default;
|
|
|
+ }
|
|
|
+
|
|
|
lock (this.syncRoot)
|
|
|
{
|
|
|
return this.contexts
|