class Koala::HTTPService::MultipartRequest

Public Instance Methods

process_params(params, prefix = nil, pieces = nil, &block) click to toggle source
   # File lib/koala/http_service/multipart_request.rb
20 def process_params(params, prefix = nil, pieces = nil, &block)
21   params.inject(pieces || []) do |all, (key, value)|
22     key = "#{prefix}%5B#{key}%5D" if prefix
23 
24     case value
25     when Array
26       values = value.inject([]) { |a,v| a << [nil, v] }
27       process_params(values, key, all, &block)
28     when Hash
29       process_params(value, key, all, &block)
30     else
31       all << block.call(key, value)
32     end
33   end
34 end
process_request?(env) click to toggle source
Calls superclass method
   # File lib/koala/http_service/multipart_request.rb
14 def process_request?(env)
15   # if the request values contain any hashes or arrays, multipart it
16   super || !!(env[:body].respond_to?(:values) && env[:body].values.find {|v| v.is_a?(Hash) || v.is_a?(Array)})
17 end