Methods

Constants

LEADING_BRACKETS_COMPAT = defined?(::Rack::RELEASE) && ::Rack::RELEASE.to_s.start_with?("2.")

Attributes

[R] param_depth_limit

Class Public methods

make_default(param_depth_limit)

– This implementation is based on Rack::QueryParser, Copyright © 2007-2021 Leah Neukirchen <leahneukirchen.org/infopage.html>

📝 Source code
# File actionpack/lib/action_dispatch/http/param_builder.rb, line 9
    def self.make_default(param_depth_limit)
      new param_depth_limit
    end
🔎 See on GitHub

new(param_depth_limit)

📝 Source code
# File actionpack/lib/action_dispatch/http/param_builder.rb, line 15
    def initialize(param_depth_limit)
      @param_depth_limit = param_depth_limit
    end
🔎 See on GitHub

Instance Public methods

from_hash(hash, encoding_template: nil)

📝 Source code
# File actionpack/lib/action_dispatch/http/param_builder.rb, line 50
    def from_hash(hash, encoding_template: nil)
      # Force encodings from encoding template
      hash = Request::Utils::CustomParamEncoder.encode_for_template(hash, encoding_template)

      # Assert valid encoding
      Request::Utils.check_param_encoding(hash)

      # Convert hashes to HWIA (or UploadedFile), and deep-munge nils
      # out of arrays
      hash = Request::Utils.normalize_encode_params(hash)

      hash
    end
🔎 See on GitHub

from_pairs(pairs, encoding_template: nil)

📝 Source code
# File actionpack/lib/action_dispatch/http/param_builder.rb, line 34
    def from_pairs(pairs, encoding_template: nil)
      params = make_params

      pairs.each do |k, v|
        if Hash === v
          v = ActionDispatch::Http::UploadedFile.new(v)
        end

        store_nested_param(params, k, v, 0, encoding_template)
      end

      params
    rescue ArgumentError => e
      raise InvalidParameterError, e.message, e.backtrace
    end
🔎 See on GitHub

from_query_string(qs, separator: nil, encoding_template: nil)

📝 Source code
# File actionpack/lib/action_dispatch/http/param_builder.rb, line 30
    def from_query_string(qs, separator: nil, encoding_template: nil)
      from_pairs QueryParser.each_pair(qs, separator), encoding_template: encoding_template
    end
🔎 See on GitHub