/
aprogrammer
/
reverse-proxy-ms-yarp
Обзор
Документация
Войти
/
aprogrammer
/
reverse-proxy-ms-yarp
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/ReverseProxy/Configuration/RouteValidators/HostValidator.cs
32 строки
1 KB
Lars Johansen
Refactor ConfigValidator (#2293)
23 ноя 2023, 01:16
Не верифицирован
23 ноя 2023, 01:16
4e32b6b
Код
Авторство
О чём код?
using System; using System.Collections.Generic; using System.Threading.Tasks; namespace Yarp.ReverseProxy.Configuration.RouteValidators; internal sealed class HostValidator : IRouteValidator { public ValueTask ValidateAsync(RouteConfig routeConfig, IList<Exception> errors) { var route = routeConfig.Match; if (route.Hosts is null || route.Hosts.Count == 0) { // Host is optional when Path is specified return ValueTask.CompletedTask; } foreach (var host in route.Hosts) { if (string.IsNullOrEmpty(host)) { errors.Add(new ArgumentException($"Empty host name has been set for route '{routeConfig.RouteId}'.")); } else if (host.Contains("xn--", StringComparison.OrdinalIgnoreCase)) { errors.Add(new ArgumentException($"Punycode host name '{host}' has been set for route '{routeConfig.RouteId}'. Use the unicode host name instead.")); } } return ValueTask.CompletedTask; } }