7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# File 'lib/contrib/multipart.rb', line 7
def set_multipart_form_data(params, boundary=nil)
boundary ||= Digest::SHA1.hexdigest(params.inspect)
chunks = params.map { |k,v|
if(v.is_a?(File))
%Q{Content-Disposition: form-data; name="#{k}"; filename="#{File.basename(v.path)}"\r\n} +
%Q{Content-Transfer-Encoding: binary\r\nContent-Type: application/octet-stream\r\n\r\n} +
%Q{#{v.read}\r\n}
else
%Q{Content-Disposition: form-data; name="#{url_encode(k)}"\r\n} +
%Q{\r\n#{v}\r\n}
end
}
self.body = "--#{boundary}\r\n" + chunks.join("--#{boundary}\r\n") + "--#{boundary}--\r\n"
self.content_type = "multipart/form-data; boundary=#{boundary}"
end
|