class HTTP::Message::Body::Parts
def add(part)
def add(part) if Message.file?(part) @as_stream = true @body << part if part.respond_to?(:stat) sz = part.stat.size add_size(part, sz) elsif part.respond_to?(:size) if sz = part.size add_size(part, sz) else @sizes.clear @size = nil end else # use chunked upload @sizes.clear @size = nil end elsif @body[-1].is_a?(String) @body[-1] += part.to_s @size += part.to_s.bytesize if @size else @body << part.to_s @size += part.to_s.bytesize if @size end end