50 lines
1.1 KiB
C#
50 lines
1.1 KiB
C#
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;
|
|
}
|
|
}
|
|
} |