mirror of
https://github.com/yawaflua/WebSockets.git
synced 2025-12-10 04:19:33 +02:00
Back-compatability fix
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
using System.Net.WebSockets;
|
using System.Diagnostics.CodeAnalysis;
|
||||||
|
using System.Net.WebSockets;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
@@ -11,18 +12,19 @@ using yawaflua.WebSockets.Models.Interfaces;
|
|||||||
|
|
||||||
namespace yawaflua.WebSockets.Core;
|
namespace yawaflua.WebSockets.Core;
|
||||||
|
|
||||||
|
[SuppressMessage("ReSharper", "AsyncVoidLambda")]
|
||||||
public class WebSocketRouter
|
public class WebSocketRouter
|
||||||
{
|
{
|
||||||
internal static readonly Dictionary<string, Func<WebSocket, HttpContext, Task>> Routes = new();
|
internal static readonly Dictionary<string, Func<WebSocket, HttpContext, Task>> Routes = new();
|
||||||
internal static readonly List<IWebSocketClient> Clients = new();
|
internal static readonly List<IWebSocketClient> Clients = new();
|
||||||
private readonly IServiceProvider _serviceProvider;
|
private readonly IServiceProvider _serviceProvider;
|
||||||
private readonly ILogger<WebSocketRouter> _logger;
|
private readonly ILogger<WebSocketRouter> _logger;
|
||||||
private readonly WebSocketConfig WebSocketConfig;
|
private readonly WebSocketConfig? _webSocketConfig;
|
||||||
public WebSocketRouter(IServiceProvider serviceProvider, ILogger<WebSocketRouter> logger, WebSocketConfig webSocketConfig)
|
public WebSocketRouter(IServiceProvider serviceProvider, ILogger<WebSocketRouter> logger, WebSocketConfig? webSocketConfig = null)
|
||||||
{
|
{
|
||||||
_serviceProvider = serviceProvider;
|
_serviceProvider = serviceProvider;
|
||||||
this._logger = logger;
|
_logger = logger;
|
||||||
WebSocketConfig = webSocketConfig;
|
_webSocketConfig = webSocketConfig;
|
||||||
DiscoverHandlers();
|
DiscoverHandlers();
|
||||||
Task.Run(() =>
|
Task.Run(() =>
|
||||||
{
|
{
|
||||||
@@ -150,8 +152,8 @@ public class WebSocketRouter
|
|||||||
|
|
||||||
await Task.Run(async () =>
|
await Task.Run(async () =>
|
||||||
{
|
{
|
||||||
if (WebSocketConfig.OnOpenHandler != null)
|
if (_webSocketConfig?.OnOpenHandler != null)
|
||||||
await WebSocketConfig.OnOpenHandler((webSocket as IWebSocket)!, context);
|
await _webSocketConfig.OnOpenHandler((webSocket as IWebSocket)!, context);
|
||||||
}, cts);
|
}, cts);
|
||||||
|
|
||||||
var buffer = new byte[1024 * 4];
|
var buffer = new byte[1024 * 4];
|
||||||
|
|||||||
Reference in New Issue
Block a user