Ruby 2.7.0 リファレンスマニュアル > ライブラリ一覧 > webrick/httpresponseライブラリ > WEBrick::HTTPResponseクラス > content_length
content_length -> Integer | nil
[permalink][rdoc]content_length=(len)
Content-Length ヘッダの値を整数で表すアクセサです。デフォルトは nil です。
content_length の値が nil のとき Content-Length ヘッダには body のサイズが使われます。nil でないとき body の実際のサイズとこの値が同じかどうかの検証は行われません。
content_length の値が nil のとき Content-Length ヘッダはレスポンスに含まれず、IO から全てを読み込んでそれをエンティティボディとします。nil でないとき IO から content_length バイトだけ読み込みそれをエンティティボディとします。
また [RFC2616] 4.4 で定められた Content-Length ヘッダを送ってはいけない場合に当てはまる時には content_length の値は無視され Content-Length ヘッダはレスポンスに含まれません。
require 'webrick' include WEBrick res = HTTPResponse.new( { :HTTPVersion => "1.1" } ) f = File.new('testfile') res.body = f res.content_length = 2 print res.to_s #=> 出力結果 HTTP/1.1 200 OK Connection: Keep-Alive Date: Sat, 27 Oct 2007 12:04:32 GMT Server: Content-Length: 2 ho