Module: Dropio::Client::MultipartPost

Included in:
Net::HTTP::Post
Defined in:
lib/dropio/client/multipart_post.rb

Instance Method Summary collapse

Instance Method Details

#multipart_params=(param_hash = {}) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/dropio/client/multipart_post.rb', line 2

def multipart_params=(param_hash={})
  boundary_token = [Array.new(8) {rand(256)}].join
  self.content_type = "multipart/form-data; boundary=#{boundary_token}"
  boundary_marker = "--#{boundary_token}\r\n"
  self.body = param_hash.map { |param_name, param_value|
    unless param_value.nil?
      boundary_marker + case param_value
      when String
        text_to_multipart(param_name, param_value.to_s)
      when File
        file_to_multipart(param_name, param_value)
      end
    end
  }.join('') + "--#{boundary_token}--\r\n"
end