<?xml version="1.0" encoding="iso-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Class: ActionController::Request</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" /> <script type="text/javascript"> // <![CDATA[ function popupCode( url ) { window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400") } function toggleCode( id ) { if ( document.getElementById ) elem = document.getElementById( id ); else if ( document.all ) elem = eval( "document.all." + id ); else return false; elemStyle = elem.style; if ( elemStyle.display != "block" ) { elemStyle.display = "block" } else { elemStyle.display = "none" } return true; } // Make codeblocks hidden by default document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" ) // ]]> </script> </head> <body> <div id="classHeader"> <table class="header-table"> <tr class="top-aligned-row"> <td><strong>Class</strong></td> <td class="class-name-in-header">ActionController::Request</td> </tr> <tr class="top-aligned-row"> <td><strong>In:</strong></td> <td> <a href="../../files/lib/action_controller/request_rb.html"> lib/action_controller/request.rb </a> <br /> </td> </tr> <tr class="top-aligned-row"> <td><strong>Parent:</strong></td> <td> Rack::Request </td> </tr> </table> </div> <!-- banner header --> <div id="bodyContent"> <div id="contextContent"> </div> <div id="method-list"> <h3 class="section-bar">Methods</h3> <div class="name-list"> <a href="#M000381">GET</a> <a href="#M000383">POST</a> <a href="#M000346">accepts</a> <a href="#M000379">body</a> <a href="#M000355">cache_format</a> <a href="#M000343">content_length</a> <a href="#M000344">content_type</a> <a href="#M000340">delete?</a> <a href="#M000369">domain</a> <a href="#M000350">etag_matches?</a> <a href="#M000380">form_data?</a> <a href="#M000352">format</a> <a href="#M000353">format=</a> <a href="#M000351">fresh?</a> <a href="#M000337">get?</a> <a href="#M000341">head?</a> <a href="#M000342">headers</a> <a href="#M000364">host</a> <a href="#M000365">host_with_port</a> <a href="#M000347">if_modified_since</a> <a href="#M000348">if_none_match</a> <a href="#M000334">key?</a> <a href="#M000345">media_type</a> <a href="#M000336">method</a> <a href="#M000349">not_modified?</a> <a href="#M000375">parameters</a> <a href="#M000376">params</a> <a href="#M000373">path</a> <a href="#M000378">path_parameters</a> <a href="#M000366">port</a> <a href="#M000368">port_string</a> <a href="#M000338">post?</a> <a href="#M000361">protocol</a> <a href="#M000339">put?</a> <a href="#M000382">query_parameters</a> <a href="#M000371">query_string</a> <a href="#M000363">raw_host_with_port</a> <a href="#M000374">raw_post</a> <a href="#M000358">remote_ip</a> <a href="#M000335">request_method</a> <a href="#M000384">request_parameters</a> <a href="#M000372">request_uri</a> <a href="#M000386">reset_session</a> <a href="#M000389">server_port</a> <a href="#M000359">server_software</a> <a href="#M000385">session</a> <a href="#M000387">session_options</a> <a href="#M000388">session_options=</a> <a href="#M000362">ssl?</a> <a href="#M000367">standard_port</a> <a href="#M000370">subdomains</a> <a href="#M000377">symbolized_path_parameters</a> <a href="#M000354">template_format</a> <a href="#M000360">url</a> <a href="#M000357">xhr?</a> <a href="#M000356">xml_http_request?</a> </div> </div> </div> <!-- if includes --> <div id="section"> <div id="constants-list"> <h3 class="section-bar">Constants</h3> <div class="name-list"> <table summary="Constants"> <tr class="top-aligned-row context-row"> <td class="context-item-name">HTTP_METHODS</td> <td>=</td> <td class="context-item-value">%w(get head put post delete options)</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">HTTP_METHOD_LOOKUP</td> <td>=</td> <td class="context-item-value">HTTP_METHODS.inject({}) { |h, m| h[m] = h[m.upcase] = m.to_sym;</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">TRUSTED_PROXIES</td> <td>=</td> <td class="context-item-value">/^127\.0\.0\.1$|^(10|172\.(1[6-9]|2[0-9]|30|31)|192\.168)\./i</td> <td width="3em"> </td> <td class="context-item-desc"> Which IP addresses are "trusted proxies" that can be stripped from the right-hand-side of X-Forwarded-For </td> </tr> </table> </div> </div> <!-- if method_list --> <div id="methods"> <h3 class="section-bar">Public Instance methods</h3> <div id="method-M000381" class="method-detail"> <a name="M000381"></a> <div class="method-heading"> <a href="Request.src/M000381.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000381.html');return false;"> <span class="method-name">GET</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Override Rack‘s <a href="Request.html#M000381">GET</a> <a href="Request.html#M000336">method</a> to support indifferent access </p> </div> </div> <div id="method-M000383" class="method-detail"> <a name="M000383"></a> <div class="method-heading"> <a href="Request.src/M000383.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000383.html');return false;"> <span class="method-name">POST</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Override Rack‘s <a href="Request.html#M000383">POST</a> <a href="Request.html#M000336">method</a> to support indifferent access </p> </div> </div> <div id="method-M000346" class="method-detail"> <a name="M000346"></a> <div class="method-heading"> <a href="Request.src/M000346.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000346.html');return false;"> <span class="method-name">accepts</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Returns the accepted MIME type for the request. </p> </div> </div> <div id="method-M000379" class="method-detail"> <a name="M000379"></a> <div class="method-heading"> <a href="Request.src/M000379.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000379.html');return false;"> <span class="method-name">body</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> The request <a href="Request.html#M000379">body</a> is an IO input stream. If the RAW_POST_DATA environment variable is already set, wrap it in a StringIO. </p> </div> </div> <div id="method-M000355" class="method-detail"> <a name="M000355"></a> <div class="method-heading"> <a href="Request.src/M000355.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000355.html');return false;"> <span class="method-name">cache_format</span><span class="method-args">()</span> </a> </div> <div class="method-description"> </div> </div> <div id="method-M000343" class="method-detail"> <a name="M000343"></a> <div class="method-heading"> <a href="Request.src/M000343.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000343.html');return false;"> <span class="method-name">content_length</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Returns the content length of the request as an integer. </p> </div> </div> <div id="method-M000344" class="method-detail"> <a name="M000344"></a> <div class="method-heading"> <a href="Request.src/M000344.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000344.html');return false;"> <span class="method-name">content_type</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> The MIME type of the HTTP request, such as Mime::XML. </p> <p> For backward compatibility, the post \<a href="Request.html#M000352">format</a> is extracted from the X-Post-Data-Format HTTP header if present. </p> </div> </div> <div id="method-M000340" class="method-detail"> <a name="M000340"></a> <div class="method-heading"> <a href="Request.src/M000340.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000340.html');return false;"> <span class="method-name">delete?</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Is this a DELETE request? Equivalent to <tt>request.method == :delete</tt>. </p> </div> </div> <div id="method-M000369" class="method-detail"> <a name="M000369"></a> <div class="method-heading"> <a href="Request.src/M000369.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000369.html');return false;"> <span class="method-name">domain</span><span class="method-args">(tld_length = 1)</span> </a> </div> <div class="method-description"> <p> Returns the \<a href="Request.html#M000369">domain</a> part of a \<a href="Request.html#M000364">host</a>, such as "rubyonrails.org" in "<a href="http://www.rubyonrails.org">www.rubyonrails.org</a>". You can specify a different <tt>tld_length</tt>, such as 2 to catch rubyonrails.co.uk in "<a href="http://www.rubyonrails.co.uk">www.rubyonrails.co.uk</a>". </p> </div> </div> <div id="method-M000350" class="method-detail"> <a name="M000350"></a> <div class="method-heading"> <a href="Request.src/M000350.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000350.html');return false;"> <span class="method-name">etag_matches?</span><span class="method-args">(etag)</span> </a> </div> <div class="method-description"> </div> </div> <div id="method-M000380" class="method-detail"> <a name="M000380"></a> <div class="method-heading"> <a href="Request.src/M000380.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000380.html');return false;"> <span class="method-name">form_data?</span><span class="method-args">()</span> </a> </div> <div class="method-description"> </div> </div> <div id="method-M000352" class="method-detail"> <a name="M000352"></a> <div class="method-heading"> <a href="Request.src/M000352.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000352.html');return false;"> <span class="method-name">format</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Returns the <a href="../Mime.html">Mime</a> type for the \<a href="Request.html#M000352">format</a> used in the request. </p> <pre> GET /posts/5.xml | request.format => Mime::XML GET /posts/5.xhtml | request.format => Mime::HTML GET /posts/5 | request.format => Mime::HTML or MIME::JS, or request.accepts.first depending on the value of <tt>ActionController::Base.use_accept_header</tt> </pre> </div> </div> <div id="method-M000353" class="method-detail"> <a name="M000353"></a> <div class="method-heading"> <a href="Request.src/M000353.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000353.html');return false;"> <span class="method-name">format=</span><span class="method-args">(extension)</span> </a> </div> <div class="method-description"> <p> Sets the \<a href="Request.html#M000352">format</a> by string extension, which can be used to force custom formats that are not controlled by the extension. </p> <pre> class ApplicationController < ActionController::Base before_filter :adjust_format_for_iphone private def adjust_format_for_iphone request.format = :iphone if request.env["HTTP_USER_AGENT"][/iPhone/] end end </pre> </div> </div> <div id="method-M000351" class="method-detail"> <a name="M000351"></a> <div class="method-heading"> <a href="Request.src/M000351.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000351.html');return false;"> <span class="method-name">fresh?</span><span class="method-args">(response)</span> </a> </div> <div class="method-description"> <p> Check response freshness (Last-Modified and ETag) against request If-Modified-Since and If-None-Match conditions. If both <a href="Request.html#M000342">headers</a> are supplied, both must match, or the request is not considered fresh. </p> </div> </div> <div id="method-M000337" class="method-detail"> <a name="M000337"></a> <div class="method-heading"> <a href="Request.src/M000337.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000337.html');return false;"> <span class="method-name">get?</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Is this a <a href="Request.html#M000381">GET</a> (or HEAD) request? Equivalent to <tt>request.method == :get</tt>. </p> </div> </div> <div id="method-M000341" class="method-detail"> <a name="M000341"></a> <div class="method-heading"> <a href="Request.src/M000341.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000341.html');return false;"> <span class="method-name">head?</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Is this a HEAD request? Since <tt>request.method</tt> sees HEAD as <tt>:get</tt>, this \<a href="Request.html#M000336">method</a> checks the actual HTTP \<a href="Request.html#M000336">method</a> directly. </p> </div> </div> <div id="method-M000342" class="method-detail"> <a name="M000342"></a> <div class="method-heading"> <a href="Request.src/M000342.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000342.html');return false;"> <span class="method-name">headers</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Provides access to the request‘s HTTP <a href="Request.html#M000342">headers</a>, for example: </p> <pre> request.headers["Content-Type"] # => "text/plain" </pre> </div> </div> <div id="method-M000364" class="method-detail"> <a name="M000364"></a> <div class="method-heading"> <a href="Request.src/M000364.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000364.html');return false;"> <span class="method-name">host</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Returns the <a href="Request.html#M000364">host</a> for this request, such as example.com. </p> </div> </div> <div id="method-M000365" class="method-detail"> <a name="M000365"></a> <div class="method-heading"> <a href="Request.src/M000365.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000365.html');return false;"> <span class="method-name">host_with_port</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Returns a \<a href="Request.html#M000364">host</a>:\<a href="Request.html#M000366">port</a> string for this request, such as "example.com" or "example.com:8080". </p> </div> </div> <div id="method-M000347" class="method-detail"> <a name="M000347"></a> <div class="method-heading"> <a href="Request.src/M000347.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000347.html');return false;"> <span class="method-name">if_modified_since</span><span class="method-args">()</span> </a> </div> <div class="method-description"> </div> </div> <div id="method-M000348" class="method-detail"> <a name="M000348"></a> <div class="method-heading"> <a href="Request.src/M000348.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000348.html');return false;"> <span class="method-name">if_none_match</span><span class="method-args">()</span> </a> </div> <div class="method-description"> </div> </div> <div id="method-M000334" class="method-detail"> <a name="M000334"></a> <div class="method-heading"> <a href="Request.src/M000334.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000334.html');return false;"> <span class="method-name">key?</span><span class="method-args">(key)</span> </a> </div> <div class="method-description"> </div> </div> <div id="method-M000345" class="method-detail"> <a name="M000345"></a> <div class="method-heading"> <a href="Request.src/M000345.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000345.html');return false;"> <span class="method-name">media_type</span><span class="method-args">()</span> </a> </div> <div class="method-description"> </div> </div> <div id="method-M000336" class="method-detail"> <a name="M000336"></a> <div class="method-heading"> <a href="Request.src/M000336.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000336.html');return false;"> <span class="method-name">method</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Returns the HTTP request \<a href="Request.html#M000336">method</a> used for action processing as a lowercase symbol, such as <tt>:post</tt>. (Unlike <a href="Request.html#M000335">request_method</a>, this <a href="Request.html#M000336">method</a> returns <tt>:get</tt> for a HEAD request because the two are functionally equivalent from the application‘s perspective.) </p> </div> </div> <div id="method-M000349" class="method-detail"> <a name="M000349"></a> <div class="method-heading"> <a href="Request.src/M000349.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000349.html');return false;"> <span class="method-name">not_modified?</span><span class="method-args">(modified_at)</span> </a> </div> <div class="method-description"> </div> </div> <div id="method-M000375" class="method-detail"> <a name="M000375"></a> <div class="method-heading"> <a href="Request.src/M000375.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000375.html');return false;"> <span class="method-name">parameters</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Returns both <a href="Request.html#M000381">GET</a> and <a href="Request.html#M000383">POST</a> \<a href="Request.html#M000375">parameters</a> in a single hash. </p> </div> </div> <div id="method-M000376" class="method-detail"> <a name="M000376"></a> <div class="method-heading"> <span class="method-name">params</span><span class="method-args">()</span> </div> <div class="method-description"> <p> Alias for <a href="Request.html#M000375">parameters</a> </p> </div> </div> <div id="method-M000373" class="method-detail"> <a name="M000373"></a> <div class="method-heading"> <a href="Request.src/M000373.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000373.html');return false;"> <span class="method-name">path</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Returns the interpreted \<a href="Request.html#M000373">path</a> to requested resource after all the installation directory of this application was taken into account. </p> </div> </div> <div id="method-M000378" class="method-detail"> <a name="M000378"></a> <div class="method-heading"> <a href="Request.src/M000378.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000378.html');return false;"> <span class="method-name">path_parameters</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Returns a hash with the \<a href="Request.html#M000375">parameters</a> used to form the \<a href="Request.html#M000373">path</a> of the request. Returned hash keys are strings: </p> <pre> {'action' => 'my_action', 'controller' => 'my_controller'} </pre> <p> See <tt><a href="Request.html#M000377">symbolized_path_parameters</a></tt> for symbolized keys. </p> </div> </div> <div id="method-M000366" class="method-detail"> <a name="M000366"></a> <div class="method-heading"> <a href="Request.src/M000366.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000366.html');return false;"> <span class="method-name">port</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Returns the <a href="Request.html#M000366">port</a> number of this request as an integer. </p> </div> </div> <div id="method-M000368" class="method-detail"> <a name="M000368"></a> <div class="method-heading"> <a href="Request.src/M000368.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000368.html');return false;"> <span class="method-name">port_string</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Returns a \<a href="Request.html#M000366">port</a> suffix like ":8080" if the \<a href="Request.html#M000366">port</a> number of this request is not the default HTTP \<a href="Request.html#M000366">port</a> 80 or HTTPS \<a href="Request.html#M000366">port</a> 443. </p> </div> </div> <div id="method-M000338" class="method-detail"> <a name="M000338"></a> <div class="method-heading"> <a href="Request.src/M000338.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000338.html');return false;"> <span class="method-name">post?</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Is this a <a href="Request.html#M000383">POST</a> request? Equivalent to <tt>request.method == :post</tt>. </p> </div> </div> <div id="method-M000361" class="method-detail"> <a name="M000361"></a> <div class="method-heading"> <a href="Request.src/M000361.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000361.html');return false;"> <span class="method-name">protocol</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Returns ‘https://’ if this is an SSL request and ‘http://’ otherwise. </p> </div> </div> <div id="method-M000339" class="method-detail"> <a name="M000339"></a> <div class="method-heading"> <a href="Request.src/M000339.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000339.html');return false;"> <span class="method-name">put?</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Is this a PUT request? Equivalent to <tt>request.method == :put</tt>. </p> </div> </div> <div id="method-M000382" class="method-detail"> <a name="M000382"></a> <div class="method-heading"> <span class="method-name">query_parameters</span><span class="method-args">()</span> </div> <div class="method-description"> <p> Alias for <a href="Request.html#M000381">GET</a> </p> </div> </div> <div id="method-M000371" class="method-detail"> <a name="M000371"></a> <div class="method-heading"> <a href="Request.src/M000371.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000371.html');return false;"> <span class="method-name">query_string</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Returns the query string, accounting for server idiosyncrasies. </p> </div> </div> <div id="method-M000363" class="method-detail"> <a name="M000363"></a> <div class="method-heading"> <a href="Request.src/M000363.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000363.html');return false;"> <span class="method-name">raw_host_with_port</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Returns the \<a href="Request.html#M000364">host</a> for this request, such as "example.com". </p> </div> </div> <div id="method-M000374" class="method-detail"> <a name="M000374"></a> <div class="method-heading"> <a href="Request.src/M000374.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000374.html');return false;"> <span class="method-name">raw_post</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Read the request \<a href="Request.html#M000379">body</a>. This is useful for web services that need to work with raw requests directly. </p> </div> </div> <div id="method-M000358" class="method-detail"> <a name="M000358"></a> <div class="method-heading"> <a href="Request.src/M000358.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000358.html');return false;"> <span class="method-name">remote_ip</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> 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. </p> </div> </div> <div id="method-M000335" class="method-detail"> <a name="M000335"></a> <div class="method-heading"> <a href="Request.src/M000335.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000335.html');return false;"> <span class="method-name">request_method</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Returns the true HTTP request \<a href="Request.html#M000336">method</a> as a lowercase symbol, such as <tt>:get</tt>. If the request \<a href="Request.html#M000336">method</a> is not listed in the HTTP_METHODS constant above, an UnknownHttpMethod exception is raised. </p> </div> </div> <div id="method-M000384" class="method-detail"> <a name="M000384"></a> <div class="method-heading"> <span class="method-name">request_parameters</span><span class="method-args">()</span> </div> <div class="method-description"> <p> Alias for <a href="Request.html#M000383">POST</a> </p> </div> </div> <div id="method-M000372" class="method-detail"> <a name="M000372"></a> <div class="method-heading"> <a href="Request.src/M000372.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000372.html');return false;"> <span class="method-name">request_uri</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Returns the request URI, accounting for server idiosyncrasies. WEBrick includes the full URL. IIS leaves REQUEST_URI blank. </p> </div> </div> <div id="method-M000386" class="method-detail"> <a name="M000386"></a> <div class="method-heading"> <a href="Request.src/M000386.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000386.html');return false;"> <span class="method-name">reset_session</span><span class="method-args">()</span> </a> </div> <div class="method-description"> </div> </div> <div id="method-M000389" class="method-detail"> <a name="M000389"></a> <div class="method-heading"> <a href="Request.src/M000389.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000389.html');return false;"> <span class="method-name">server_port</span><span class="method-args">()</span> </a> </div> <div class="method-description"> </div> </div> <div id="method-M000359" class="method-detail"> <a name="M000359"></a> <div class="method-heading"> <a href="Request.src/M000359.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000359.html');return false;"> <span class="method-name">server_software</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Returns the lowercase name of the HTTP server software. </p> </div> </div> <div id="method-M000385" class="method-detail"> <a name="M000385"></a> <div class="method-heading"> <a href="Request.src/M000385.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000385.html');return false;"> <span class="method-name">session</span><span class="method-args">()</span> </a> </div> <div class="method-description"> </div> </div> <div id="method-M000387" class="method-detail"> <a name="M000387"></a> <div class="method-heading"> <a href="Request.src/M000387.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000387.html');return false;"> <span class="method-name">session_options</span><span class="method-args">()</span> </a> </div> <div class="method-description"> </div> </div> <div id="method-M000388" class="method-detail"> <a name="M000388"></a> <div class="method-heading"> <a href="Request.src/M000388.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000388.html');return false;"> <span class="method-name">session_options=</span><span class="method-args">(options)</span> </a> </div> <div class="method-description"> </div> </div> <div id="method-M000362" class="method-detail"> <a name="M000362"></a> <div class="method-heading"> <a href="Request.src/M000362.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000362.html');return false;"> <span class="method-name">ssl?</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Is this an SSL request? </p> </div> </div> <div id="method-M000367" class="method-detail"> <a name="M000367"></a> <div class="method-heading"> <a href="Request.src/M000367.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000367.html');return false;"> <span class="method-name">standard_port</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Returns the standard \<a href="Request.html#M000366">port</a> number for this request‘s <a href="Request.html#M000361">protocol</a>. </p> </div> </div> <div id="method-M000370" class="method-detail"> <a name="M000370"></a> <div class="method-heading"> <a href="Request.src/M000370.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000370.html');return false;"> <span class="method-name">subdomains</span><span class="method-args">(tld_length = 1)</span> </a> </div> <div class="method-description"> <p> Returns all the \<a href="Request.html#M000370">subdomains</a> as an array, so <tt>["dev", "www"]</tt> would be returned for "dev.www.rubyonrails.org". You can specify a different <tt>tld_length</tt>, such as 2 to catch <tt>["www"]</tt> instead of <tt>["www", "rubyonrails"]</tt> in "<a href="http://www.rubyonrails.co.uk">www.rubyonrails.co.uk</a>". </p> </div> </div> <div id="method-M000377" class="method-detail"> <a name="M000377"></a> <div class="method-heading"> <a href="Request.src/M000377.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000377.html');return false;"> <span class="method-name">symbolized_path_parameters</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> The same as <tt><a href="Request.html#M000378">path_parameters</a></tt> with explicitly symbolized keys. </p> </div> </div> <div id="method-M000354" class="method-detail"> <a name="M000354"></a> <div class="method-heading"> <a href="Request.src/M000354.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000354.html');return false;"> <span class="method-name">template_format</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Returns a symbolized version of the <tt>:<a href="Request.html#M000352">format</a></tt> parameter of the request. If no \<a href="Request.html#M000352">format</a> is given it returns <tt>:js</tt>for Ajax requests and <tt>:html</tt> otherwise. </p> </div> </div> <div id="method-M000360" class="method-detail"> <a name="M000360"></a> <div class="method-heading"> <a href="Request.src/M000360.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000360.html');return false;"> <span class="method-name">url</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Returns the complete URL used for this request. </p> </div> </div> <div id="method-M000357" class="method-detail"> <a name="M000357"></a> <div class="method-heading"> <span class="method-name">xhr?</span><span class="method-args">()</span> </div> <div class="method-description"> <p> Alias for xml_http_request? </p> </div> </div> <div id="method-M000356" class="method-detail"> <a name="M000356"></a> <div class="method-heading"> <a href="Request.src/M000356.html" target="Code" class="method-signature" onclick="popupCode('Request.src/M000356.html');return false;"> <span class="method-name">xml_http_request?</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Returns true if the request‘s "X-Requested-With" header contains "XMLHttpRequest". (The Prototype Javascript library sends this header with every Ajax request.) </p> </div> </div> </div> </div> <div id="validator-badges"> <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p> </div> </body> </html>