getting there

This commit is contained in:
2026-02-20 12:23:23 +01:00
parent 5801b29f22
commit 7beadabb47
12 changed files with 214 additions and 56 deletions

View File

@@ -10,7 +10,7 @@ namespace CollabVM.Server
public class CollabVMHttpServer
{
private HttpListener _listener = new();
private Dictionary<String, CollabVMGuacamoleServer> _servers = new();
private Dictionary<String, CollabVMv1_2GuacamoleServer> _servers = new();
private readonly IPEndPoint _serverEndPoint;
private readonly Boolean _allowList = false;
@@ -21,12 +21,12 @@ namespace CollabVM.Server
}
public CollabVMHttpServer(IPAddress address, UInt16 port = 6004, Boolean allowList = false) : this(new(address, port), allowList) { }
public CollabVMHttpServer(CollabVMGuacamoleServer server, IPEndPoint endPoint)
public CollabVMHttpServer(CollabVMv1_2GuacamoleServer server, IPEndPoint endPoint)
{
this._serverEndPoint = endPoint;
this._addServer("/", server);
}
public CollabVMHttpServer(CollabVMGuacamoleServer server, IPAddress address, UInt16 port = 6004) : this(server, new(address, port)) { }
public CollabVMHttpServer(CollabVMv1_2GuacamoleServer server, IPAddress address, UInt16 port = 6004) : this(server, new(address, port)) { }
private void ListenPath(String path)
{
@@ -36,13 +36,13 @@ namespace CollabVM.Server
this._listener.Prefixes.Add(tmp);
}
private void _addServer(String path, CollabVMGuacamoleServer server)
private void _addServer(String path, CollabVMv1_2GuacamoleServer server)
{
this._servers[path] = server;
//this.ListenPath(path);
}
public void AddServer(String name, CollabVMGuacamoleServer server)
public void AddServer(String name, CollabVMv1_2GuacamoleServer server)
{
Regex nameRegex = new Regex(@"^[a-zA-Z0-9_-]+$");
if (this._servers.ContainsKey("/"))
@@ -68,7 +68,7 @@ namespace CollabVM.Server
{
if (context.Request.IsWebSocketRequest)
{
if (this._servers.TryGetValue(context.Request.RawUrl, out CollabVMGuacamoleServer? server))
if (this._servers.TryGetValue(context.Request.RawUrl, out CollabVMv1_2GuacamoleServer? server))
{
WebSocketContext wsc;
try
@@ -101,7 +101,7 @@ namespace CollabVM.Server
}
}
private async void HandleWebSocket(WebSocketContext wsc, CollabVMGuacamoleServer server, IPEndPoint remote)
private async void HandleWebSocket(WebSocketContext wsc, CollabVMv1_2GuacamoleServer server, IPEndPoint remote)
{
server.HandleSocket(wsc.WebSocket, remote);
}