Class | ActionDispatch::Request |
In: |
lib/action_dispatch/http/request.rb
lib/action_dispatch/middleware/cookies.rb lib/action_dispatch/middleware/flash.rb |
Parent: | Rack::Request |
LOCALHOST | = | [/^127\.0\.0\.\d{1,3}$/, "::1", /^0:0:0:0:0:0:0:1(%.*)?$/].freeze | ||
RFC2616 | = | %w(OPTIONS GET HEAD POST PUT DELETE TRACE CONNECT) | List of HTTP request methods from the following RFCs: Hypertext Transfer Protocol — HTTP/1.1 (www.ietf.org/rfc/rfc2616.txt) HTTP Extensions for Distributed Authoring — WEBDAV (www.ietf.org/rfc/rfc2518.txt) Versioning Extensions to WebDAV (www.ietf.org/rfc/rfc3253.txt) Ordered Collections Protocol (WebDAV) (www.ietf.org/rfc/rfc3648.txt) Web Distributed Authoring and Versioning (WebDAV) Access Control Protocol (www.ietf.org/rfc/rfc3744.txt) Web Distributed Authoring and Versioning (WebDAV) SEARCH (www.ietf.org/rfc/rfc5323.txt) PATCH Method for HTTP (www.ietf.org/rfc/rfc5789.txt) | |
RFC2518 | = | %w(PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK) | ||
RFC3253 | = | %w(VERSION-CONTROL REPORT CHECKOUT CHECKIN UNCHECKOUT MKWORKSPACE UPDATE LABEL MERGE BASELINE-CONTROL MKACTIVITY) | ||
RFC3648 | = | %w(ORDERPATCH) | ||
RFC3744 | = | %w(ACL) | ||
RFC5323 | = | %w(SEARCH) | ||
RFC5789 | = | %w(PATCH) | ||
HTTP_METHODS | = | RFC2616 + RFC2518 + RFC3253 + RFC3648 + RFC3744 + RFC5323 + RFC5789 | ||
HTTP_METHOD_LOOKUP | = | Hash.new { |h, m| h[m] = m.underscore.to_sym if HTTP_METHODS.include?(m) } | ||
TRUSTED_PROXIES | = | /^127\.0\.0\.1$|^(10|172\.(1[6-9]|2[0-9]|30|31)|192\.168)\./i | Which IP addresses are "trusted proxies" that can be stripped from the right-hand-side of X-Forwarded-For |
Returns the authorization header regardless of whether it was specified directly or through one of the proxy alternatives.
The request body is an IO input stream. If the RAW_POST_DATA environment variable is already set, wrap it in a StringIO.
Provides access to the request‘s HTTP headers, for example:
request.headers["Content-Type"] # => "text/plain"
Returns the original value of the environment‘s REQUEST_METHOD, even if it was overridden by middleware. See request_method for more information.
Read the request \body. This is useful for web services that need to work with raw requests directly.
Determines originating IP address. REMOTE_ADDR is the standard but will fail if the user is behind a proxy. HTTP_CLIENT_IP and/or HTTP_X_FORWARDED_FOR are set by proxies so check for these if REMOTE_ADDR is a proxy. HTTP_X_FORWARDED_FOR may be a comma- delimited list in the case of multiple chained proxies; the last address which is not trusted is the originating IP.
Returns the HTTP \method that the application should see. In the case where the \method was overridden by a middleware (for instance, if a HEAD request was converted to a GET, or if a _method parameter was used to determine the \method the application should use), this \method returns the overridden value, not the original.
TODO This should be broken apart into AD::Request::Session and probably be included by the session middleware.