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)}");
        }
    }
}