|
1 | | -using System.Net.WebSockets; |
| 1 | +using System.Diagnostics.CodeAnalysis; |
| 2 | +using System.Net.WebSockets; |
2 | 3 | using System.Reflection; |
3 | 4 | using System.Text; |
4 | 5 | using Microsoft.AspNetCore.Http; |
|
11 | 12 |
|
12 | 13 | namespace yawaflua.WebSockets.Core; |
13 | 14 |
|
| 15 | +[SuppressMessage("ReSharper", "AsyncVoidLambda")] |
14 | 16 | public class WebSocketRouter |
15 | 17 | { |
16 | 18 | internal static readonly Dictionary<string, Func<WebSocket, HttpContext, Task>> Routes = new(); |
17 | 19 | internal static readonly List<IWebSocketClient> Clients = new(); |
18 | 20 | private readonly IServiceProvider _serviceProvider; |
19 | 21 | private readonly ILogger<WebSocketRouter> _logger; |
20 | | - private readonly WebSocketConfig WebSocketConfig; |
21 | | - public WebSocketRouter(IServiceProvider serviceProvider, ILogger<WebSocketRouter> logger, WebSocketConfig webSocketConfig) |
| 22 | + private readonly WebSocketConfig? _webSocketConfig; |
| 23 | + public WebSocketRouter(IServiceProvider serviceProvider, ILogger<WebSocketRouter> logger, WebSocketConfig? webSocketConfig = null) |
22 | 24 | { |
23 | 25 | _serviceProvider = serviceProvider; |
24 | | - this._logger = logger; |
25 | | - WebSocketConfig = webSocketConfig; |
| 26 | + _logger = logger; |
| 27 | + _webSocketConfig = webSocketConfig; |
26 | 28 | DiscoverHandlers(); |
27 | 29 | Task.Run(() => |
28 | 30 | { |
@@ -150,8 +152,8 @@ await Task.Run(async () => |
150 | 152 |
|
151 | 153 | await Task.Run(async () => |
152 | 154 | { |
153 | | - if (WebSocketConfig.OnOpenHandler != null) |
154 | | - await WebSocketConfig.OnOpenHandler((webSocket as IWebSocket)!, context); |
| 155 | + if (_webSocketConfig?.OnOpenHandler != null) |
| 156 | + await _webSocketConfig.OnOpenHandler((webSocket as IWebSocket)!, context); |
155 | 157 | }, cts); |
156 | 158 |
|
157 | 159 | var buffer = new byte[1024 * 4]; |
|
0 commit comments