Фильтр Linux, который преобразует данные, поступающие из канала в кодировку передачи по частям

302
Konstantin

Я обычно использую Open3.popen3 в своих сценариях Ruby CGI для запуска команды Linux, анализа ее стандартного вывода и преобразования байтов в кодировку передачи по частям ( https://en.wikipedia.org/wiki/Chunked_transfer_encoding )

 th<<Thread.new do counter=0 while data=stdout.read(64*1024) STDOUT.puts "#;" STDOUT.print data STDOUT.puts counter+=data.size end STDOUT.puts "0" STDOUT.puts "Content-Length: #" STDOUT.puts end th.join 

Интересно, возможно, уже есть утилита / фильтр командной строки Linux, которая выполняет эту конкретную работу: подсчет байтов, печать фрагментов с правильными заголовками и закрывающего нижнего колонтитула с подсчитанной длиной содержимого. Так что я просто мог бы направить вывод команды в этот фильтр, нет необходимости в Open3.popen3, я думаю, что преобразование будет быстрее.

1

0 ответов на вопрос

Похожие вопросы