Extended maintenance of Ruby 1.9.3 ended on February 23, 2015. Read more

In Files

  • cgi/core.rb

CGI::QueryExtension

Mixin module that provides the following:

  1. Access to the CGI environment variables as methods. See documentation to the CGI class for a list of these variables. The methods are exposed by removing the leading HTTP_ (if it exists) and downcasing the name. For example, auth_type will return the environment variable AUTH_TYPE, and accept will return the value for HTTP_ACCEPT.

  2. Access to cookies, including the cookies attribute.

  3. Access to parameters, including the params attribute, and overloading [] to perform parameter value lookup by key.

  4. The initialize_query method, for initializing the above mechanisms, handling multipart forms, and allowing the class to be used in “offline” mode.

Attributes

cookies[RW]

Get the cookies as a hash of cookie-name=>Cookie pairs.

files[R]

Get the uploaded files as a hash of name=>values pairs

params[R]

Get the parameters as a hash of name=>values pairs, where values is an Array.

Public Instance Methods

[](key) click to toggle source

Get the value for the parameter with a given key.

If the parameter has multiple values, only the first will be retrieved; use params to get the array of values.

 
               # File cgi/core.rb, line 687
def [](key)
  params = @params[key]
  return '' unless params
  value = params[0]
  if @multipart
    if value
      return value
    elsif defined? StringIO
      StringIO.new("".force_encoding("ascii-8bit"))
    else
      Tempfile.new("CGI",encoding:"ascii-8bit")
    end
  else
    str = if value then value.dup else "" end
    str
  end
end
            
has_key?(*args) click to toggle source

Returns true if a given query string parameter exists.

 
               # File cgi/core.rb, line 711
def has_key?(*args)
  @params.has_key?(*args)
end
            
Also aliased as: key?, include?
include?(*args) click to toggle source
Alias for: has_key?
key?(*args) click to toggle source
Alias for: has_key?
keys(*args) click to toggle source

Return all query parameter names as an array of String.

 
               # File cgi/core.rb, line 706
def keys(*args)
  @params.keys(*args)
end
            
multipart?() click to toggle source

Returns whether the form contained multipart/form-data

 
               # File cgi/core.rb, line 679
def multipart?
  @multipart
end
            
params=(hash) click to toggle source

Set all the parameters.

 
               # File cgi/core.rb, line 449
def params=(hash)
  @params.clear
  @params.update(hash)
end
            
raw_cookie2() click to toggle source

Get the raw RFC2965 cookies as a string.

 
               # File cgi/core.rb, line 434
def raw_cookie2
  env_table["HTTP_COOKIE2"]
end
            

Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.

If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.

If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.

If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.