Maintenance of Ruby 2.0.0 ended on February 24, 2016. Read more

In Files

  • cgi/core.rb


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.



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


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


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 697
def [](key)
  params = @params[key]
  return '' unless params
  value = params[0]
  if @multipart
    if value
      return value
    elsif defined? StringIO"".force_encoding("ascii-8bit"))
    str = if value then value.dup else "" end
has_key?(*args) click to toggle source

Returns true if a given query string parameter exists.

               # File cgi/core.rb, line 721
def has_key?(*args)
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 716
def keys(*args)
multipart?() click to toggle source

Returns whether the form contained multipart/form-data

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

Set all the parameters.

               # File cgi/core.rb, line 458
def params=(hash)
raw_cookie2() click to toggle source

Get the raw RFC2965 cookies as a string.

               # File cgi/core.rb, line 443
def raw_cookie2

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