优化IsMatch性能

This commit is contained in:
陈国伟 2021-09-17 12:59:43 +08:00
parent 002ad37e3b
commit 82e51ab358
4 changed files with 13 additions and 5 deletions

View File

@ -74,7 +74,7 @@ namespace FastGithub.Configuration
/// <returns></returns> /// <returns></returns>
public bool IsMatch(string domain) public bool IsMatch(string domain)
{ {
return this.domainConfigs.Keys.Any(item => item.IsMatch(domain)); return this.TryGetDomainConfig(domain, out _);
} }
/// <summary> /// <summary>

View File

@ -105,7 +105,7 @@ namespace FastGithub.HttpServer
return new IPEndPoint(address, targetPort); return new IPEndPoint(address, targetPort);
} }
if (this.fastGithubConfig.TryGetDomainConfig(targetHost, out _) == false) if (this.fastGithubConfig.IsMatch(targetHost) == false)
{ {
return new DnsEndPoint(targetHost, targetPort); return new DnsEndPoint(targetHost, targetPort);
} }

View File

@ -23,7 +23,7 @@ namespace FastGithub
public Task StopAsync(CancellationToken cancellationToken) public Task StopAsync(CancellationToken cancellationToken)
{ {
this.logger.LogInformation($"{nameof(FastGithub)}停止运行"); this.logger.LogInformation($"{nameof(FastGithub)}停止运行");
return Task.CompletedTask; return Task.CompletedTask;
} }
} }

View File

@ -4,6 +4,7 @@ using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
using System; using System;
using System.Threading.Tasks;
namespace FastGithub namespace FastGithub
{ {
@ -59,6 +60,13 @@ namespace FastGithub
{ {
appBuilder.UseRequestLogging(); appBuilder.UseRequestLogging();
appBuilder.UseHttpReverseProxy(); appBuilder.UseHttpReverseProxy();
appBuilder.UseRouting();
appBuilder.UseEndpoints(endpoint => endpoint.MapFallback(context =>
{
context.Response.Redirect("https://github.com/dotnetcore/FastGithub");
return Task.CompletedTask;
}));
}); });
} }
} }