Issue #5758 has been reported by 寿宣 梶原.

----------------------------------------
Bug #5758: webrickのhttpresponseについて
http://redmine.ruby-lang.org/issues/5758

Author: 寿宣 梶原
Status: Open
Priority: Normal
Assignee: 
Category: 
Target version: 1.9.3
ruby -v: ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux]


はじめまして。
梶原と申します。

ruby on rails 3.1.xで再現しているのですが、webrickのhttpresponse.rbの挙動について少し疑問に持っている事があります。

httpレスポンスコードが304等を返す場合、content-lengthを削除する処理が入っています(188行目)。
その後、一般的にはkeep aliveしたい事が多いのですが、205行目の判定は上記の影響もあり偽になってしまい、WARNINGが出力されてしまいます。

185行目の
  if chunked? || @header['content-length']
は
  if chunked? || @header['content-length'] || (@status == 304 || @status == 204 || HTTPStatus::info?(@status))
の様な感じにすべきではないかと思いますが如何でしょうか?(187行目と共通化すべきですが)




-- 
http://redmine.ruby-lang.org