module HTTPX::Transcoder::Multipart

  1. lib/httpx/transcoder/multipart.rb
  2. lib/httpx/transcoder/multipart/decoder.rb
  3. lib/httpx/transcoder/multipart/encoder.rb
  4. lib/httpx/transcoder/multipart/mime_type_detector.rb
  5. lib/httpx/transcoder/multipart/part.rb
  6. show all

Public Instance methods

encode(form_data)
[show source]
   # File lib/httpx/transcoder/multipart.rb
35 def encode(form_data)
36   Encoder.new(form_data)
37 end
multipart?(form_data)
[show source]
   # File lib/httpx/transcoder/multipart.rb
12 def multipart?(form_data)
13   form_data.any? do |_, v|
14     multipart_value?(v) ||
15       (v.respond_to?(:to_ary) && v.to_ary.any? { |av| multipart_value?(av) }) ||
16       (v.respond_to?(:to_hash) && v.to_hash.any? { |_, e| multipart_value?(e) })
17   end
18 end
multipart_value?(value)
[show source]
   # File lib/httpx/transcoder/multipart.rb
20 def multipart_value?(value)
21   value.respond_to?(:read) ||
22     (value.is_a?(Hash) &&
23       value.key?(:body) &&
24       (value.key?(:filename) || value.key?(:content_type)))
25 end
normalize_keys(key, value, transcoder = self, &block)
[show source]
   # File lib/httpx/transcoder/multipart.rb
27 def normalize_keys(key, value, transcoder = self, &block)
28   if multipart_value?(value)
29     block.call(key.to_s, value)
30   else
31     HTTPX::Transcoder.normalize_keys(key, value, transcoder, &block)
32   end
33 end