Module: HTTPX::Plugins::Multipart::FormTranscoder
- Defined in:
- lib/httpx/plugins/multipart.rb
Class Method Summary collapse
Class Method Details
.decode(response) ⇒ Object
72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/httpx/plugins/multipart.rb', line 72 def decode(response) content_type = response.content_type.mime_type case content_type when "application/x-www-form-urlencoded" Transcoder::Form.decode(response) when "multipart/form-data" Decoder.new(response) else raise Error, "invalid form mime type (#{content_type})" end end |
.encode(form) ⇒ Object
64 65 66 67 68 69 70 |
# File 'lib/httpx/plugins/multipart.rb', line 64 def encode(form) if multipart?(form) Encoder.new(form) else Transcoder::Form::Encoder.new(form) end end |
.multipart?(data) ⇒ Boolean
85 86 87 88 89 90 91 |
# File 'lib/httpx/plugins/multipart.rb', line 85 def multipart?(data) data.any? do |_, v| MULTIPART_VALUE_COND.call(v) || (v.respond_to?(:to_ary) && v.to_ary.any?(&MULTIPART_VALUE_COND)) || (v.respond_to?(:to_hash) && v.to_hash.any? { |_, e| MULTIPART_VALUE_COND.call(e) }) end end |