diff --git a/examples/chat_websocket/config.ru b/examples/chat_websocket/config.ru index 6dd5948..e67ea69 100644 --- a/examples/chat_websocket/config.ru +++ b/examples/chat_websocket/config.ru @@ -16,6 +16,8 @@ end module ChatRamp class HomeAction < Cramp::Action + self.transport = :chunked + template_path = File.join(File.dirname(__FILE__), 'views/index.erb') @@template = Erubis::Eruby.new(File.read(template_path)) diff --git a/lib/cramp/action.rb b/lib/cramp/action.rb index 0c5dd7e..ca7e94e 100644 --- a/lib/cramp/action.rb +++ b/lib/cramp/action.rb @@ -38,6 +38,8 @@ def build_headers [status, headers.merge(self.default_sse_headers)] when :chunked status, headers = respond_to?(:respond_with, true) ? respond_with : [200, {}] + headers['Content-Type'] ||= 'text/html' + [status, headers.merge(self.default_chunked_headers)] else super diff --git a/test/controller/chunked_transport_test.rb b/test/controller/chunked_transport_test.rb index 7790e81..50ba504 100644 --- a/test/controller/chunked_transport_test.rb +++ b/test/controller/chunked_transport_test.rb @@ -21,6 +21,7 @@ def test_headers get '/' do |status, headers, body| assert_equal 200, status assert_equal "chunked", headers["Transfer-Encoding"] + assert_equal "text/html", headers["Content-Type"] assert_kind_of Cramp::Body, body EM.stop