public async Task <IAdaptedConnection> OnConnectionAsync(ConnectionAdapterContext context)
        {
            var connection = context.ConnectionStream;
            var back2Back  = new BackToBackStream(connection);

            var firstByte = new byte[1];
            var bytesRead = await connection.ReadAsync(firstByte, 0, 1);

            back2Back.FirstByte = firstByte[0];
            if (firstByte[0] == 0x16)
            {
                _isHttp = true;
            }
            throw new NotImplementedException();
            //await _previous.OnConnectionAsync(context);
            //var previousRequest = context.PrepareRequest;
            //context.PrepareRequest = features =>
            //{
            //    previousRequest?.Invoke(features);
            //};
        }
        public async Task OnConnectionAsync(ConnectionFilterContext context)
        {
            await _previous.OnConnectionAsync(context);

            var previousRequest = context.PrepareRequest;
            var firstByte       = new byte[1];

            await context.Connection.ReadAsync(firstByte, 0, 1);

            if (firstByte[0] == 0x16)
            {
                context.Address = ServerAddress.FromUrl($"https://{context.Address.Host}:{context.Address.Port}");
            }
            var connection = context.Connection;
            var back2Back  = new BackToBackStream(firstByte[0], connection);

            context.Connection = back2Back;

            context.PrepareRequest = features =>
            {
                previousRequest?.Invoke(features);
            };
        }