/
aprogrammer
/
reverse-proxy-ms-yarp
Обзор
Документация
Войти
/
aprogrammer
/
reverse-proxy-ms-yarp
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Kubernetes.Controller/Protocol/DispatchConfigProvider.cs
37 строк
1 KB
David Bevin
Simplify Library Structure for Kubernetes (#1642)
09 май 2022, 15:27
Не верифицирован
09 май 2022, 15:27
82a831e
Код
Авторство
О чём код?
using System; using System.Collections.Generic; using System.Linq; using System.Text.Json; using System.Threading; using System.Threading.Tasks; using Yarp.Kubernetes.Controller.Configuration; using Yarp.Kubernetes.Controller.Dispatching; using Yarp.Kubernetes.Protocol; using Yarp.ReverseProxy.Configuration; namespace Yarp.Kubernetes.Controller.Protocol; public class DispatchConfigProvider : IUpdateConfig { private readonly IDispatcher _dispatcher; public DispatchConfigProvider(IDispatcher dispatcher) { _dispatcher = dispatcher ?? throw new ArgumentNullException(nameof(dispatcher)); } public async Task UpdateAsync(IReadOnlyList<RouteConfig> routes, IReadOnlyList<ClusterConfig> clusters, CancellationToken cancellationToken) { var message = new Message { MessageType = MessageType.Update, Key = string.Empty, Cluster = clusters.ToList(), Routes = routes.ToList(), }; var bytes = JsonSerializer.SerializeToUtf8Bytes(message); await _dispatcher.SendAsync(bytes, cancellationToken).ConfigureAwait(false); } }