module Formeze::FormData

Public Class Methods

parse(input) click to toggle source
# File lib/formeze/form_data.rb, line 5
def self.parse(input)
  if input.is_a?(String)
    query_parser.parse_query(input)
  elsif input.respond_to?(:env)
    body = input.body
    body.rewind if body.respond_to?(:rewind)
    case input.media_type
    when 'multipart/form-data'
      Rack::Multipart.parse_multipart(input.env, Params)
    when 'application/x-www-form-urlencoded'
      query_parser.parse_query(body.read)
    else
      raise ArgumentError, "can't parse #{input.media_type.inspect} form data"
    end
  else
    raise ArgumentError, "can't parse #{input.class} form data"
  end
end

Private Class Methods

query_parser() click to toggle source
# File lib/formeze/form_data.rb, line 48
def self.query_parser
  @query_parser ||= QueryParser.new(nil, 0)
end