5namespace WebSocketCloseCode
8constexpr uint16 Normal = 1000;
10constexpr uint16 GoingAway = 1001;
12constexpr uint16 ProtocolError = 1002;
14constexpr uint16 Unsupported = 1003;
16constexpr uint16 NoStatus = 1005;
18constexpr uint16 Abnormal = 1006;
20constexpr uint16 UnsupportedPayload = 1007;
22constexpr uint16 PolicyViolation = 1008;
24constexpr uint16 TooLarge = 1009;
26constexpr uint16 MandatoryExtension = 1010;
28constexpr uint16 ServerError = 1011;
30constexpr uint16 ServiceRestart = 1012;
32constexpr uint16 TryAgainLater = 1013;
34constexpr uint16 BadGateway = 1014;
36constexpr uint16 TlsHandshakeFail = 1015;
38const TMap<uint16, const TCHAR*> HumanReadable = {
39 {Normal, TEXT(
"Normal")},
40 {GoingAway, TEXT(
"Going away")},
41 {ProtocolError, TEXT(
"Protocol error")},
42 {Unsupported, TEXT(
"Unsupported")},
43 {NoStatus, TEXT(
"No status")},
44 {Abnormal, TEXT(
"Abnormal")},
45 {UnsupportedPayload, TEXT(
"Unsupported payload")},
46 {PolicyViolation, TEXT(
"Policy violation")},
47 {TooLarge, TEXT(
"Too large")},
48 {MandatoryExtension, TEXT(
"Mandatory extension")},
49 {ServerError, TEXT(
"Server error")},
50 {ServiceRestart, TEXT(
"Service restart")},
51 {TryAgainLater, TEXT(
"Try again later")},
52 {BadGateway, TEXT(
"Bad gateway")},
53 {TlsHandshakeFail, TEXT(
"TLS handshake fail")},
56inline const TCHAR* ToString(
const uint16 WebSocketCloseCode)
58 const TCHAR*
const* Found = HumanReadable.Find(WebSocketCloseCode);
59 return Found ? *Found : TEXT(
"Unknown");