Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 8b99df826c3b6cf56a1caaae5f931d50 > files > 450

ruby-actionpack-2.3.4-1mdv2010.0.noarch.rpm

<?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>&nbsp;&nbsp;
      <a href="#M000383">POST</a>&nbsp;&nbsp;
      <a href="#M000346">accepts</a>&nbsp;&nbsp;
      <a href="#M000379">body</a>&nbsp;&nbsp;
      <a href="#M000355">cache_format</a>&nbsp;&nbsp;
      <a href="#M000343">content_length</a>&nbsp;&nbsp;
      <a href="#M000344">content_type</a>&nbsp;&nbsp;
      <a href="#M000340">delete?</a>&nbsp;&nbsp;
      <a href="#M000369">domain</a>&nbsp;&nbsp;
      <a href="#M000350">etag_matches?</a>&nbsp;&nbsp;
      <a href="#M000380">form_data?</a>&nbsp;&nbsp;
      <a href="#M000352">format</a>&nbsp;&nbsp;
      <a href="#M000353">format=</a>&nbsp;&nbsp;
      <a href="#M000351">fresh?</a>&nbsp;&nbsp;
      <a href="#M000337">get?</a>&nbsp;&nbsp;
      <a href="#M000341">head?</a>&nbsp;&nbsp;
      <a href="#M000342">headers</a>&nbsp;&nbsp;
      <a href="#M000364">host</a>&nbsp;&nbsp;
      <a href="#M000365">host_with_port</a>&nbsp;&nbsp;
      <a href="#M000347">if_modified_since</a>&nbsp;&nbsp;
      <a href="#M000348">if_none_match</a>&nbsp;&nbsp;
      <a href="#M000334">key?</a>&nbsp;&nbsp;
      <a href="#M000345">media_type</a>&nbsp;&nbsp;
      <a href="#M000336">method</a>&nbsp;&nbsp;
      <a href="#M000349">not_modified?</a>&nbsp;&nbsp;
      <a href="#M000375">parameters</a>&nbsp;&nbsp;
      <a href="#M000376">params</a>&nbsp;&nbsp;
      <a href="#M000373">path</a>&nbsp;&nbsp;
      <a href="#M000378">path_parameters</a>&nbsp;&nbsp;
      <a href="#M000366">port</a>&nbsp;&nbsp;
      <a href="#M000368">port_string</a>&nbsp;&nbsp;
      <a href="#M000338">post?</a>&nbsp;&nbsp;
      <a href="#M000361">protocol</a>&nbsp;&nbsp;
      <a href="#M000339">put?</a>&nbsp;&nbsp;
      <a href="#M000382">query_parameters</a>&nbsp;&nbsp;
      <a href="#M000371">query_string</a>&nbsp;&nbsp;
      <a href="#M000363">raw_host_with_port</a>&nbsp;&nbsp;
      <a href="#M000374">raw_post</a>&nbsp;&nbsp;
      <a href="#M000358">remote_ip</a>&nbsp;&nbsp;
      <a href="#M000335">request_method</a>&nbsp;&nbsp;
      <a href="#M000384">request_parameters</a>&nbsp;&nbsp;
      <a href="#M000372">request_uri</a>&nbsp;&nbsp;
      <a href="#M000386">reset_session</a>&nbsp;&nbsp;
      <a href="#M000389">server_port</a>&nbsp;&nbsp;
      <a href="#M000359">server_software</a>&nbsp;&nbsp;
      <a href="#M000385">session</a>&nbsp;&nbsp;
      <a href="#M000387">session_options</a>&nbsp;&nbsp;
      <a href="#M000388">session_options=</a>&nbsp;&nbsp;
      <a href="#M000362">ssl?</a>&nbsp;&nbsp;
      <a href="#M000367">standard_port</a>&nbsp;&nbsp;
      <a href="#M000370">subdomains</a>&nbsp;&nbsp;
      <a href="#M000377">symbolized_path_parameters</a>&nbsp;&nbsp;
      <a href="#M000354">template_format</a>&nbsp;&nbsp;
      <a href="#M000360">url</a>&nbsp;&nbsp;
      <a href="#M000357">xhr?</a>&nbsp;&nbsp;
      <a href="#M000356">xml_http_request?</a>&nbsp;&nbsp;
      </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">&nbsp;</td>
          <td class="context-item-desc">
Which IP addresses are &quot;trusted proxies&quot; 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&#8216;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&#8216;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 &quot;rubyonrails.org&quot;
in &quot;<a
href="http://www.rubyonrails.org">www.rubyonrails.org</a>&quot;. You can
specify a different <tt>tld_length</tt>, such as 2 to catch
rubyonrails.co.uk in &quot;<a
href="http://www.rubyonrails.co.uk">www.rubyonrails.co.uk</a>&quot;.
</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 =&gt; Mime::XML
  GET /posts/5.xhtml | request.format =&gt; Mime::HTML
  GET /posts/5       | request.format =&gt; Mime::HTML or MIME::JS, or request.accepts.first depending on the value of &lt;tt&gt;ActionController::Base.use_accept_header&lt;/tt&gt;
</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 &lt; ActionController::Base
    before_filter :adjust_format_for_iphone

    private
      def adjust_format_for_iphone
        request.format = :iphone if request.env[&quot;HTTP_USER_AGENT&quot;][/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&#8216;s HTTP <a
href="Request.html#M000342">headers</a>, for example:
</p>
<pre>
  request.headers[&quot;Content-Type&quot;] # =&gt; &quot;text/plain&quot;
</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
&quot;example.com&quot; or &quot;example.com:8080&quot;.
</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&#8216;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' =&gt; 'my_action', 'controller' =&gt; '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
&quot;:8080&quot; 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 &#8216;https://&#8217; if this is an SSL request and
&#8216;http://&#8217; 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 &quot;example.com&quot;.
</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&#8216;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>[&quot;dev&quot;, &quot;www&quot;]</tt> would be returned for
&quot;dev.www.rubyonrails.org&quot;. You can specify a different
<tt>tld_length</tt>, such as 2 to catch <tt>[&quot;www&quot;]</tt> instead
of <tt>[&quot;www&quot;, &quot;rubyonrails&quot;]</tt> in &quot;<a
href="http://www.rubyonrails.co.uk">www.rubyonrails.co.uk</a>&quot;.
</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&#8216;s &quot;X-Requested-With&quot; header
contains &quot;XMLHttpRequest&quot;. (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>