using System; using System.Net.Http; using System.Threading; using System.Threading.Tasks; namespace FastGithub.ReverseProxy { /// /// YARP的HttpClient /// class HttpClient : HttpMessageInvoker { private readonly bool tlsSni; /// /// YARP的HttpClient /// /// /// /// public HttpClient(HttpMessageHandler handler, bool disposeHandler, bool tlsSni) : base(handler, disposeHandler) { this.tlsSni = tlsSni; } /// /// 发送数据 /// /// /// /// public override Task SendAsync(HttpRequestMessage request, CancellationToken cancellationToken) { var isHttps = request.RequestUri?.Scheme == Uri.UriSchemeHttps; request.SetSniContext(new SniContext(isHttps, this.tlsSni)); return base.SendAsync(request, cancellationToken); } } }