@@ -19,6 +19,7 @@ public class ConnectionManager : IConnectionManager
1919 {
2020 private readonly IServiceProvider _serviceProvider ;
2121 private readonly IHandshakeStateTransport _initState ;
22+ private readonly IHeaderProvider _headerProvider ;
2223 private readonly ILoggerFactory _loggerFactory ;
2324 private readonly IStreamCompressor _compressor ;
2425
@@ -27,11 +28,13 @@ public class ConnectionManager : IConnectionManager
2728 public ConnectionManager ( IServiceProvider serviceProvider ,
2829 IStreamCompressor compressor ,
2930 IHandshakeStateTransport initState ,
31+ IHeaderProvider headerProvider ,
3032 ILoggerFactory loggerFactory )
3133 {
3234 _serviceProvider = serviceProvider ;
3335 _compressor = compressor ;
3436 _initState = initState ;
37+ _headerProvider = headerProvider ;
3538 _loggerFactory = loggerFactory ;
3639 Connections = new ConcurrentDictionary < string , WebSocketTransport > ( StringComparer . OrdinalIgnoreCase ) ;
3740 }
@@ -60,6 +63,7 @@ private async Task<byte[]> PrepareFramesBytesAsync(byte[] body, IDictionary<stri
6063 properties . Add ( CompressedKey , compressed ) ;
6164 }
6265
66+ _headerProvider . Invoke ( properties ) ;
6367 string props = JsonConvert . SerializeObject ( properties ) ;
6468 byte [ ] header = Encoding . UTF8 . GetBytes ( $ "{ props } ") ;
6569
@@ -228,6 +232,7 @@ public Task SendAsync(string connectionId, WebSocketMessageContext context)
228232 throw new ArgumentOutOfRangeException ( nameof ( transport ) ) ;
229233 }
230234
235+ _headerProvider . Invoke ( context . Header ) ;
231236 var segments = context . ToSegment ( ) ;
232237 var descriptor = new WebSocketMessageDescriptor
233238 {
0 commit comments