using System; using System.Net.Http; namespace FastGithub.ReverseProxy { /// /// SniContext扩展 /// static class TlsSniContextExtensions { private static readonly HttpRequestOptionsKey key = new(nameof(TlsSniContext)); /// /// 设置TlsSniContext /// /// /// public static void SetTlsSniContext(this HttpRequestMessage httpRequestMessage, TlsSniContext context) { httpRequestMessage.Options.Set(key, context); } /// /// 获取TlsSniContext /// /// /// public static TlsSniContext GetTlsSniContext(this HttpRequestMessage httpRequestMessage) { if (httpRequestMessage.Options.TryGetValue(key, out var value)) { return value; } throw new InvalidOperationException($"请先调用{nameof(SetTlsSniContext)}"); } } }