# File lib/rack/multipart/parser.rb, line 12 def parse return nil unless setup_parse fast_forward_to_first_boundary max_key_space = Utils.key_space_limit bytes = 0 loop do head, filename, content_type, name, body = get_current_head_and_filename_and_content_type_and_name_and_body # Save the rest. if i = @buf.index(rx) body << @buf.slice!(0, i) @buf.slice!(0, @boundary_size+2) @content_length = -1 if $1 == "--" end filename, data = get_data(filename, body, content_type, name, head) if name bytes += name.size if bytes > max_key_space raise RangeError, "exceeded available parameter key space" end end Utils.normalize_params(@params, name, data) unless data.nil? # break if we're at the end of a buffer, but not if it is the end of a field break if (@buf.empty? && $1 != EOL) || @content_length == -1 end @io.rewind @params end
Generated with the Darkfish Rdoc Generator 2.