Example #1
0
            public LoggingConnectionContext(ConnectionContext inner, ILogger logger)
            {
                _inner  = inner;
                _logger = logger;

                _loggingPipe = new LoggingDuplexPipe(_inner.Transport, _logger);

                Transport = _loggingPipe;
            }
Example #2
0
    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;
        }
    }