Class: Rack::Request

Class | Rack::Request
In: | lib/rack/request.rb
Parent: | Object

Rack::Request provides a convenient interface to a Rack environment. It is stateless, the environment `env` passed to the constructor will be directly modified.

      req = Rack::Request.new(env)
      req.post?
      req.params["data"]

### Methods

GET POST [] []= accept_encoding body content_charset content_length content_type cookies delete? form_data? fullpath get? head? host ip media_type media_type_params new params path_info path_info= port post? put? query_string referer referrer request_method scheme script_name script_name= url values_at xhr?

### Constants

FORM_DATA_MEDIA_TYPES | = | [ nil, 'application/x-www-form-urlencoded', 'multipart/form-data' |  | The set of form-data media-types. Requests that do not indicate one of the media types presents in this list will not be eligible for form-data / param parsing.

### Attributes

env | [R] | The environment of the request.

### Public Class methods

new(env)

### Public Instance methods

GET()

Returns the data recieved in the query string.

POST()

Returns the data recieved in the request body.

This method support both application/x-www-form-urlencoded and multipart/form-data.

[](key)

shortcut for request.params[key]

[]=(key, value)

shortcut for request.params[key] = value

accept_encoding()
body()
content_charset()

The character set of the request body if a "charset" media type parameter was given, or nil if no "charset" was specified. Note that, per RFC2616, text/* media types that specify no explicit charset are to be considered ISO-8859-1.

content_length()
content_type()
cookies()
delete?()
form_data?()

Determine whether the request body contains form-data by checking the request media_type against registered form-data media-types: "application/x-www-form-urlencoded" and "multipart/form-data". The list of form-data media types can be modified through the `FORM_DATA_MEDIA_TYPES` array.

fullpath()
get?()
head?()
host()
ip()
media_type()

The media type (type/subtype) portion of the CONTENT_TYPE header without any media type parameters. e.g., when CONTENT_TYPE is "text/plain;charset=utf-8", the media-type is "text/plain".

For more information on the use of media types in HTTP, see: www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.7

media_type_params()

The media type parameters provided in CONTENT_TYPE as a Hash, or an empty Hash if no CONTENT_TYPE or media-type parameters were provided. e.g., when the CONTENT_TYPE is "text/plain;charset=utf-8", this method responds with the following Hash:

      { 'charset' => 'utf-8' }

params()

The union of GET and POST data.

path_info()
path_info=(s)
port()
post?()
put?()
query_string()
referer()

the referer of the client or ’/’

referrer()

Alias for referer

request_method()
scheme()
script_name()
script_name=(s)
url()

Tries to return a remake of the original request URL as a string.

values_at(*keys)

like Hash#values_at

xhr?()

[Validate]