aboutsummaryrefslogtreecommitdiff
path: root/SocketHttpListener/Net/WebSockets/HttpWebSocket.Managed.cs
diff options
context:
space:
mode:
Diffstat (limited to 'SocketHttpListener/Net/WebSockets/HttpWebSocket.Managed.cs')
-rw-r--r--SocketHttpListener/Net/WebSockets/HttpWebSocket.Managed.cs81
1 files changed, 0 insertions, 81 deletions
diff --git a/SocketHttpListener/Net/WebSockets/HttpWebSocket.Managed.cs b/SocketHttpListener/Net/WebSockets/HttpWebSocket.Managed.cs
deleted file mode 100644
index 1cfd2dc90..000000000
--- a/SocketHttpListener/Net/WebSockets/HttpWebSocket.Managed.cs
+++ /dev/null
@@ -1,81 +0,0 @@
-using System;
-using System.Threading.Tasks;
-
-namespace SocketHttpListener.Net.WebSockets
-{
- internal static partial class HttpWebSocket
- {
- private const string SupportedVersion = "13";
-
- internal static async Task<HttpListenerWebSocketContext> AcceptWebSocketAsyncCore(HttpListenerContext context,
- string subProtocol,
- int receiveBufferSize,
- TimeSpan keepAliveInterval,
- ArraySegment<byte>? internalBuffer = null)
- {
- ValidateOptions(subProtocol, receiveBufferSize, MinSendBufferSize, keepAliveInterval);
-
- // get property will create a new response if one doesn't exist.
- HttpListenerResponse response = context.Response;
- HttpListenerRequest request = context.Request;
- ValidateWebSocketHeaders(context);
-
- string secWebSocketVersion = request.Headers[HttpKnownHeaderNames.SecWebSocketVersion];
-
- // Optional for non-browser client
- string origin = request.Headers[HttpKnownHeaderNames.Origin];
-
- string[] secWebSocketProtocols = null;
- bool shouldSendSecWebSocketProtocolHeader =
- ProcessWebSocketProtocolHeader(
- request.Headers[HttpKnownHeaderNames.SecWebSocketProtocol],
- subProtocol,
- out var outgoingSecWebSocketProtocolString);
-
- if (shouldSendSecWebSocketProtocolHeader)
- {
- secWebSocketProtocols = new string[] { outgoingSecWebSocketProtocolString };
- response.Headers.Add(HttpKnownHeaderNames.SecWebSocketProtocol, outgoingSecWebSocketProtocolString);
- }
-
- // negotiate the websocket key return value
- string secWebSocketKey = request.Headers[HttpKnownHeaderNames.SecWebSocketKey];
- string secWebSocketAccept = HttpWebSocket.GetSecWebSocketAcceptString(secWebSocketKey);
-
- response.Headers.Add(HttpKnownHeaderNames.Connection, HttpKnownHeaderNames.Upgrade);
- response.Headers.Add(HttpKnownHeaderNames.Upgrade, WebSocketUpgradeToken);
- response.Headers.Add(HttpKnownHeaderNames.SecWebSocketAccept, secWebSocketAccept);
-
- response.StatusCode = (int)HttpStatusCode.SwitchingProtocols; // HTTP 101
- response.StatusDescription = HttpStatusDescription.Get(HttpStatusCode.SwitchingProtocols);
-
- var responseStream = response.OutputStream as HttpResponseStream;
-
- // Send websocket handshake headers
- await responseStream.WriteWebSocketHandshakeHeadersAsync().ConfigureAwait(false);
-
- //WebSocket webSocket = WebSocket.CreateFromStream(context.Connection.ConnectedStream, isServer: true, subProtocol, keepAliveInterval);
- var webSocket = new WebSocket(subProtocol);
-
- var webSocketContext = new HttpListenerWebSocketContext(
- request.Url,
- request.Headers,
- request.Cookies,
- context.User,
- request.IsAuthenticated,
- request.IsLocal,
- request.IsSecureConnection,
- origin,
- secWebSocketProtocols != null ? secWebSocketProtocols : Array.Empty<string>(),
- secWebSocketVersion,
- secWebSocketKey,
- webSocket);
-
- webSocket.SetContext(webSocketContext, context.Connection.Close, context.Connection.Stream);
-
- return webSocketContext;
- }
-
- private const bool WebSocketsSupported = true;
- }
-}