public static async Task UpgradeConnectionAsync(FramingConnection connection)
        {
            connection.RawStream = new RawStream(connection);
            StreamUpgradeAcceptor upgradeAcceptor = connection.StreamUpgradeAcceptor;
            Stream stream = await upgradeAcceptor.AcceptUpgradeAsync(connection.RawStream);

            CreatePipelineFromStream(connection, stream);
        }
        public static async Task UpgradeConnectionAsync(FramingConnection connection, string contentType)
        {
            var duplexPipeStream = new DuplexPipeStream(connection.Input, connection.Output);

            connection.RawStream = duplexPipeStream;
            StreamUpgradeAcceptor upgradeAcceptor = connection.StreamUpgradeAcceptor;
            Stream stream = await upgradeAcceptor.AcceptUpgradeAsync(connection.RawStream);

            duplexPipeStream.SetContentType(contentType);
            CreatePipelineFromStream(connection, stream);
        }