using System; namespace ln.http; [Flags] public enum HttpVersion { None = 0, HTTP10 = (1<<0), // HTTP/1.0 HTTP11 = (1<<1), // HTTP/1.1 HTTP2 = (1<<2), // HTTP/2.0 ALL = HTTP10 | HTTP11 | HTTP2 } public static class HttpVersionSupport { public static string ToString(HttpVersion httpVersion) { switch (httpVersion) { case HttpVersion.None: return "None"; case HttpVersion.ALL: return "ALL"; case HttpVersion.HTTP2: return "HTTP/2"; case HttpVersion.HTTP10: return "HTTP/1.0"; case HttpVersion.HTTP11: return "HTTP/1.1"; default: throw new NotSupportedException(); } } public static HttpVersion Parse(string httpVersion) { switch (httpVersion) { case "HTTP/1.0": return HttpVersion.HTTP10; case "HTTP/1.1": return HttpVersion.HTTP10; default: return HttpVersion.None; } } }