Method: FluentdServer::WebHelper#parse_query
- Defined in:
- lib/fluentd_server/web_helper.rb
#parse_query(qs, d = nil) ⇒ Object
override RackUtil.parse_query
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/fluentd_server/web_helper.rb', line 12 def parse_query(qs, d=nil) params = {} (qs || '').split(d ? /[#{d}] */n : DEFAULT_SEP).each do |p| k, v = p.split('=', 2).map { |x| unescape(x) } if k.ends_with?('[]') k1 = k[0..-3] if params[k1] and params[k1].class == Array params[k1] << v else params[k1] = [v] end elsif k.ends_with?(']') and md = k.match(/^([^\[]+)\[([^\]]+)\]$/) k1, k2 = md[1], md[2] if params[k1] and params[k1].class == Hash params[k1][k2] = v else params[k1] = { k2 => v } end else params[k] = v end end params end |