OrganizeServerBuilder.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. using System.Collections.Generic;
  2. using Newtonsoft.Json.Linq;
  3. using Sers.Core.CL.MessageOrganize;
  4. using Sers.Core.CL.MessageOrganize.DefaultOrganize;
  5. using Vit.Extensions.Newtonsoft_Extensions;
  6. namespace Sers.CL.WebSocket
  7. {
  8. public class OrganizeServerBuilder : IOrganizeServerBuilder
  9. {
  10. public void Build(List<IOrganizeServer> organizeList, JObject config)
  11. {
  12. var delivery = new DeliveryServer();
  13. #region security
  14. if (config["security"] is JArray securityConfigs)
  15. {
  16. var securityManager = Sers.Core.Util.StreamSecurity.SecurityManager.BuildSecurityManager(securityConfigs);
  17. delivery.securityManager = securityManager;
  18. }
  19. #endregion
  20. delivery.host = config["host"]?.ConvertToString() ?? delivery.host;
  21. delivery.certificate = config["certificate"]?.Deserialize<DeliveryServer.CertificateInfo>() ?? delivery.certificate;
  22. organizeList.Add(new OrganizeServer(delivery, config));
  23. }
  24. }
  25. }