Ruby Sinatra потоковое через Thin работает только локально - PullRequest
0 голосов
/ 15 апреля 2019

Я работаю над потоковой передачей обычного текста обратно клиенту, как описано в http://sinatrarb.com/contrib/streaming.html. Он прекрасно работает, когда я скручиваю страницу локально, но возвращается как один большой кусок, когда я скручиваю удаленно.

Код Синатры очень прост:

get '/stream-test' do
  stream do |out|
    out << "message 1\n"
    sleep(1)
    out << "message 2\n"
  end
end

Я пробовал использовать худую и пуму. Запуск на экземпляре AWS EC2 и обращение к Elastic IP-адресу с использованием одной и той же команды как на экземпляре, так и локально:

$curl -i "http://<elastic-ip>:8080/stream-test"

HTTP/1.1 200 OK
Content-Type: text/html;charset=utf-8
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
Set-Cookie: rack.session=*******; path=/; HttpOnly
Transfer-Encoding: chunked

message 1
message 2

Спасибо

...