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