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