public LoggingConnectionContext(ConnectionContext inner, ILogger logger) { _inner = inner; _logger = logger; _loggingPipe = new LoggingDuplexPipe(_inner.Transport, _logger); Transport = _loggingPipe; }
public async Task OnConnectionAsync(ConnectionContext context) { var oldTransport = context.Transport; try { await using (var loggingDuplexPipe = new LoggingDuplexPipe(context.Transport, _logger)) { context.Transport = loggingDuplexPipe; await _next(context); } } finally { context.Transport = oldTransport; } }