internal static List <SslApplicationProtocol>?GetAlpn(this ClientHelloInfo clientHelloInfo) { if (clientHelloInfo.Extensions != null && clientHelloInfo.Extensions.TryGetValue("ALPN", out var alpnExtension)) { var alpn = alpnExtension.Data.Split(','); if (alpn.Length != 0) { var result = new List <SslApplicationProtocol>(alpn.Length); foreach (string p in alpn) { string protocol = p.Trim(); if (protocol.Equals("http/1.1")) { result.Add(SslApplicationProtocol.Http11); } else if (protocol.Equals("h2")) { result.Add(SslApplicationProtocol.Http2); } } return(result); } } return(null); }
public static string GetServerName(this ClientHelloInfo clientHelloInfo) { if (clientHelloInfo.Extensions != null && clientHelloInfo.Extensions.TryGetValue("server_name", out var serverNameExtension)) { return(serverNameExtension.Data); } return(null); }
internal static string GetServerName(this ClientHelloInfo clientHelloInfo) { StreamExtended.Models.SslExtension serverNameExtension; if (clientHelloInfo.Extensions != null && clientHelloInfo.Extensions.TryGetValue("server_name", out serverNameExtension)) { return(serverNameExtension.Data); } return(null); }
internal static List <SslApplicationProtocol> GetAlpn(this ClientHelloInfo clientHelloInfo) { return(Http11ProtocolAsList); }