Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ ValidateWebSocketHeaders()

static void System.Net.WebSockets.HttpWebSocket.ValidateWebSocketHeaders ( HttpListenerContext context)
inlinestaticprivate

Definition at line 82 of file HttpWebSocket.cs.

83 {
85 {
86 throw new PlatformNotSupportedException(System.SR.net_WebSockets_UnsupportedPlatform);
87 }
88 if (!context.Request.IsWebSocketRequest)
89 {
90 throw new WebSocketException(WebSocketError.NotAWebSocket, System.SR.Format(System.SR.net_WebSockets_AcceptNotAWebSocket, "ValidateWebSocketHeaders", "Connection", "Upgrade", "websocket", context.Request.Headers["Upgrade"]));
91 }
92 string text = context.Request.Headers["Sec-WebSocket-Version"];
93 if (string.IsNullOrEmpty(text))
94 {
95 throw new WebSocketException(WebSocketError.HeaderError, System.SR.Format(System.SR.net_WebSockets_AcceptHeaderNotFound, "ValidateWebSocketHeaders", "Sec-WebSocket-Version"));
96 }
97 if (!string.Equals(text, SupportedVersion, StringComparison.OrdinalIgnoreCase))
98 {
99 throw new WebSocketException(WebSocketError.UnsupportedVersion, System.SR.Format(System.SR.net_WebSockets_AcceptUnsupportedWebSocketVersion, "ValidateWebSocketHeaders", text, SupportedVersion));
100 }
101 string text2 = context.Request.Headers["Sec-WebSocket-Key"];
102 bool flag = string.IsNullOrWhiteSpace(text2);
103 if (!flag)
104 {
105 try
106 {
107 flag = Convert.FromBase64String(text2).Length != 16;
108 }
109 catch
110 {
111 flag = true;
112 }
113 }
114 if (flag)
115 {
116 throw new WebSocketException(WebSocketError.HeaderError, System.SR.Format(System.SR.net_WebSockets_AcceptHeaderNotFound, "ValidateWebSocketHeaders", "Sec-WebSocket-Key"));
117 }
118 }
static string net_WebSockets_AcceptHeaderNotFound
Definition SR.cs:132
static string Format(string resourceFormat, object p1)
Definition SR.cs:118
static string net_WebSockets_AcceptUnsupportedWebSocketVersion
Definition SR.cs:134
static string net_WebSockets_AcceptNotAWebSocket
Definition SR.cs:130
static string net_WebSockets_UnsupportedPlatform
Definition SR.cs:150
Definition SR.cs:7

References System.Net.Equals, System.SR.Format(), System.Convert.FromBase64String(), System.Net.HttpListenerRequest.Headers, System.Net.HttpListenerRequest.IsWebSocketRequest, System.SR.net_WebSockets_AcceptHeaderNotFound, System.SR.net_WebSockets_AcceptNotAWebSocket, System.SR.net_WebSockets_AcceptUnsupportedWebSocketVersion, System.SR.net_WebSockets_UnsupportedPlatform, System.Net.HttpListenerContext.Request, System.Net.WebSockets.HttpWebSocket.SupportedVersion, System.text, and System.Net.WebSockets.HttpWebSocket.WebSocketsSupported.

Referenced by System.Net.WebSockets.HttpWebSocket.AcceptWebSocketAsyncCore().