# File lib/ftw/http/message.rb, line 55
  def body=(message_body)
    # TODO(sissel): if message_body is a string, set Content-Length header
    # TODO(sissel): if it's an IO object, set Transfer-Encoding to chunked
    # TODO(sissel): if it responds to each or appears to be Enumerable, then
    # set Transfer-Encoding to chunked.
    @body = message_body

    # don't set any additional length/encoding headers if they are already set.
    return if headers.include?("Content-Length") or headers.include?("Transfer-Encoding")

    if (message_body.respond_to?(:read) or message_body.respond_to?(:each)) and
      headers["Transfer-Encoding"] = "chunked"
    else
      headers["Content-Length"] = message_body.bytesize
    end
  end