AlkantarClanX12

Your IP : 3.145.44.22


Current Path : /proc/thread-self/root/opt/alt/ruby19/lib64/ruby/gems/1.9.1/doc/rack-1.6.4/rdoc/
Upload File :
Current File : //proc/thread-self/root/opt/alt/ruby19/lib64/ruby/gems/1.9.1/doc/rack-1.6.4/rdoc/KNOWN-ISSUES.html

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <meta content="text/html; charset=US-ASCII" http-equiv="Content-Type" />

  <title>File: KNOWN-ISSUES [rack-1.6.4 Documentation]</title>

  <link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet" />

  <script src="./js/jquery.js" type="text/javascript"
    charset="utf-8"></script>
  <script src="./js/thickbox-compressed.js" type="text/javascript"
    charset="utf-8"></script>
  <script src="./js/quicksearch.js" type="text/javascript"
    charset="utf-8"></script>
  <script src="./js/darkfish.js" type="text/javascript"
    charset="utf-8"></script>
</head>

<body class="file">
  <div id="metadata">
    <div id="home-metadata">
      <div id="home-section" class="section">
        <h3 class="section-header">
          <a href="./index.html">Home</a>
          <a href="./index.html#classes">Classes</a>
          <a href="./index.html#methods">Methods</a>
        </h3>
      </div>
    </div>

    <div id="project-metadata">
      
      
      <div id="fileindex-section" class="section project-section">
        <h3 class="section-header">Files</h3>
        <ul>
        
          <li class="file"><a href="./KNOWN-ISSUES.html">KNOWN-ISSUES</a></li>
        
        </ul>
      </div>
      

      <div id="classindex-section" class="section project-section">
        <h3 class="section-header">Class Index
          <span class="search-toggle"><img src="./images/find.png"
            height="16" width="16" alt="[+]"
            title="show/hide quicksearch" /></span></h3>
        <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
        <fieldset>
          <legend>Quicksearch</legend>
          <input type="text" name="quicksearch" value=""
            class="quicksearch-field" />
        </fieldset>
        </form>

        <ul class="link-list">
        
          <li><a href="./Rack.html">Rack</a></li>
        
          <li><a href="./Rack/Auth.html">Rack::Auth</a></li>
        
          <li><a href="./Rack/Auth/AbstractHandler.html">Rack::Auth::AbstractHandler</a></li>
        
          <li><a href="./Rack/Auth/AbstractRequest.html">Rack::Auth::AbstractRequest</a></li>
        
          <li><a href="./Rack/Auth/Basic.html">Rack::Auth::Basic</a></li>
        
          <li><a href="./Rack/Auth/Basic/Request.html">Rack::Auth::Basic::Request</a></li>
        
          <li><a href="./Rack/Auth/Digest.html">Rack::Auth::Digest</a></li>
        
          <li><a href="./Rack/Auth/Digest/MD5.html">Rack::Auth::Digest::MD5</a></li>
        
          <li><a href="./Rack/Auth/Digest/Nonce.html">Rack::Auth::Digest::Nonce</a></li>
        
          <li><a href="./Rack/Auth/Digest/Params.html">Rack::Auth::Digest::Params</a></li>
        
          <li><a href="./Rack/Auth/Digest/Request.html">Rack::Auth::Digest::Request</a></li>
        
          <li><a href="./Rack/BodyProxy.html">Rack::BodyProxy</a></li>
        
          <li><a href="./Rack/Builder.html">Rack::Builder</a></li>
        
          <li><a href="./Rack/Cascade.html">Rack::Cascade</a></li>
        
          <li><a href="./Rack/Chunked.html">Rack::Chunked</a></li>
        
          <li><a href="./Rack/Chunked/Body.html">Rack::Chunked::Body</a></li>
        
          <li><a href="./Rack/CommonLogger.html">Rack::CommonLogger</a></li>
        
          <li><a href="./Rack/ConditionalGet.html">Rack::ConditionalGet</a></li>
        
          <li><a href="./Rack/Config.html">Rack::Config</a></li>
        
          <li><a href="./Rack/ContentLength.html">Rack::ContentLength</a></li>
        
          <li><a href="./Rack/ContentType.html">Rack::ContentType</a></li>
        
          <li><a href="./Rack/Deflater.html">Rack::Deflater</a></li>
        
          <li><a href="./Rack/Deflater/DeflateStream.html">Rack::Deflater::DeflateStream</a></li>
        
          <li><a href="./Rack/Deflater/GzipStream.html">Rack::Deflater::GzipStream</a></li>
        
          <li><a href="./Rack/Directory.html">Rack::Directory</a></li>
        
          <li><a href="./Rack/ETag.html">Rack::ETag</a></li>
        
          <li><a href="./Rack/File.html">Rack::File</a></li>
        
          <li><a href="./Rack/ForwardRequest.html">Rack::ForwardRequest</a></li>
        
          <li><a href="./Rack/Handler.html">Rack::Handler</a></li>
        
          <li><a href="./Rack/Handler/CGI.html">Rack::Handler::CGI</a></li>
        
          <li><a href="./Rack/Handler/EventedMongrel.html">Rack::Handler::EventedMongrel</a></li>
        
          <li><a href="./Rack/Handler/FastCGI.html">Rack::Handler::FastCGI</a></li>
        
          <li><a href="./Rack/Handler/LSWS.html">Rack::Handler::LSWS</a></li>
        
          <li><a href="./Rack/Handler/Mongrel.html">Rack::Handler::Mongrel</a></li>
        
          <li><a href="./Rack/Handler/SCGI.html">Rack::Handler::SCGI</a></li>
        
          <li><a href="./Rack/Handler/SwiftipliedMongrel.html">Rack::Handler::SwiftipliedMongrel</a></li>
        
          <li><a href="./Rack/Handler/Thin.html">Rack::Handler::Thin</a></li>
        
          <li><a href="./Rack/Handler/WEBrick.html">Rack::Handler::WEBrick</a></li>
        
          <li><a href="./Rack/Head.html">Rack::Head</a></li>
        
          <li><a href="./Rack/Lint.html">Rack::Lint</a></li>
        
          <li><a href="./Rack/Lobster.html">Rack::Lobster</a></li>
        
          <li><a href="./Rack/Lock.html">Rack::Lock</a></li>
        
          <li><a href="./Rack/Logger.html">Rack::Logger</a></li>
        
          <li><a href="./Rack/MethodOverride.html">Rack::MethodOverride</a></li>
        
          <li><a href="./Rack/Mime.html">Rack::Mime</a></li>
        
          <li><a href="./Rack/MockRequest.html">Rack::MockRequest</a></li>
        
          <li><a href="./Rack/MockRequest/FatalWarner.html">Rack::MockRequest::FatalWarner</a></li>
        
          <li><a href="./Rack/MockRequest/FatalWarning.html">Rack::MockRequest::FatalWarning</a></li>
        
          <li><a href="./Rack/MockResponse.html">Rack::MockResponse</a></li>
        
          <li><a href="./Rack/Multipart.html">Rack::Multipart</a></li>
        
          <li><a href="./Rack/Multipart/Generator.html">Rack::Multipart::Generator</a></li>
        
          <li><a href="./Rack/Multipart/MultipartPartLimitError.html">Rack::Multipart::MultipartPartLimitError</a></li>
        
          <li><a href="./Rack/Multipart/Parser.html">Rack::Multipart::Parser</a></li>
        
          <li><a href="./Rack/Multipart/UploadedFile.html">Rack::Multipart::UploadedFile</a></li>
        
          <li><a href="./Rack/NullLogger.html">Rack::NullLogger</a></li>
        
          <li><a href="./Rack/Recursive.html">Rack::Recursive</a></li>
        
          <li><a href="./Rack/Reloader.html">Rack::Reloader</a></li>
        
          <li><a href="./Rack/Reloader/Stat.html">Rack::Reloader::Stat</a></li>
        
          <li><a href="./Rack/Request.html">Rack::Request</a></li>
        
          <li><a href="./Rack/Response.html">Rack::Response</a></li>
        
          <li><a href="./Rack/Response/Helpers.html">Rack::Response::Helpers</a></li>
        
          <li><a href="./Rack/RewindableInput.html">Rack::RewindableInput</a></li>
        
          <li><a href="./Rack/RewindableInput/Tempfile.html">Rack::RewindableInput::Tempfile</a></li>
        
          <li><a href="./Rack/Runtime.html">Rack::Runtime</a></li>
        
          <li><a href="./Rack/Sendfile.html">Rack::Sendfile</a></li>
        
          <li><a href="./Rack/Server.html">Rack::Server</a></li>
        
          <li><a href="./Rack/Server/Options.html">Rack::Server::Options</a></li>
        
          <li><a href="./Rack/Session.html">Rack::Session</a></li>
        
          <li><a href="./Rack/Session/Abstract.html">Rack::Session::Abstract</a></li>
        
          <li><a href="./Rack/Session/Abstract/ID.html">Rack::Session::Abstract::ID</a></li>
        
          <li><a href="./Rack/Session/Abstract/SessionHash.html">Rack::Session::Abstract::SessionHash</a></li>
        
          <li><a href="./Rack/Session/Cookie.html">Rack::Session::Cookie</a></li>
        
          <li><a href="./Rack/Session/Cookie/Base64.html">Rack::Session::Cookie::Base64</a></li>
        
          <li><a href="./Rack/Session/Cookie/Base64/JSON.html">Rack::Session::Cookie::Base64::JSON</a></li>
        
          <li><a href="./Rack/Session/Cookie/Base64/Marshal.html">Rack::Session::Cookie::Base64::Marshal</a></li>
        
          <li><a href="./Rack/Session/Cookie/Base64/ZipJSON.html">Rack::Session::Cookie::Base64::ZipJSON</a></li>
        
          <li><a href="./Rack/Session/Cookie/Identity.html">Rack::Session::Cookie::Identity</a></li>
        
          <li><a href="./Rack/Session/Memcache.html">Rack::Session::Memcache</a></li>
        
          <li><a href="./Rack/Session/Pool.html">Rack::Session::Pool</a></li>
        
          <li><a href="./Rack/ShowExceptions.html">Rack::ShowExceptions</a></li>
        
          <li><a href="./Rack/ShowStatus.html">Rack::ShowStatus</a></li>
        
          <li><a href="./Rack/Static.html">Rack::Static</a></li>
        
          <li><a href="./Rack/TempfileReaper.html">Rack::TempfileReaper</a></li>
        
          <li><a href="./Rack/URLMap.html">Rack::URLMap</a></li>
        
          <li><a href="./Rack/Utils.html">Rack::Utils</a></li>
        
          <li><a href="./Rack/Utils/Context.html">Rack::Utils::Context</a></li>
        
          <li><a href="./Rack/Utils/HeaderHash.html">Rack::Utils::HeaderHash</a></li>
        
          <li><a href="./Rack/Utils/InvalidParameterError.html">Rack::Utils::InvalidParameterError</a></li>
        
          <li><a href="./Rack/Utils/KeySpaceConstrainedParams.html">Rack::Utils::KeySpaceConstrainedParams</a></li>
        
          <li><a href="./Rack/Multipart.html">Rack::Utils::Multipart</a></li>
        
          <li><a href="./Rack/Utils/OkJson.html">Rack::Utils::OkJson</a></li>
        
          <li><a href="./Rack/Utils/OkJson/Error.html">Rack::Utils::OkJson::Error</a></li>
        
          <li><a href="./Rack/Utils/OkJson/Utf8Error.html">Rack::Utils::OkJson::Utf8Error</a></li>
        
          <li><a href="./Rack/Utils/ParameterTypeError.html">Rack::Utils::ParameterTypeError</a></li>
        
          <li><a href="./FCGI.html">FCGI</a></li>
        
          <li><a href="./FCGI/Stream.html">FCGI::Stream</a></li>
        
          <li><a href="./WEBrick.html">WEBrick</a></li>
        
          <li><a href="./WEBrick/HTTPResponse.html">WEBrick::HTTPResponse</a></li>
        
          <li><a href="./Object.html">Object</a></li>
        
        </ul>
        <div id="no-class-search-results" style="display: none;">No matching classes.</div>
      </div>

      
    </div>
  </div>

  <div id="documentation">
    
<h1>Known issues with <a href="Rack.html">Rack</a> and ECMA-262</h1>
<ul><li>
<p>Many users expect the escape() function defined in ECMA-262 to be
compatible with URI. Confusion is especially strong because the
documentation for the escape function includes a reference to the URI
specifications. ECMA-262 escape is not however a URI escape function, it is
a javascript escape function, and is not fully compatible. Most notably,
for characters outside of the BMP. Users should use the more correct
encodeURI functions.</p>
</li></ul>

<h1>Known issues with <a href="Rack.html">Rack</a> and Web servers</h1>
<ul><li>
<p>Lighttpd sets wrong SCRIPT_NAME and PATH_INFO if you mount your FastCGI app
at "/".  This can be fixed by using this middleware:</p>

<pre>class LighttpdScriptNameFix
  def initialize(app)
    @app = app
  end

  def call(env)
    env[&quot;PATH_INFO&quot;] = env[&quot;SCRIPT_NAME&quot;].to_s + env[&quot;PATH_INFO&quot;].to_s
    env[&quot;SCRIPT_NAME&quot;] = &quot;&quot;
    @app.call(env)
  end
end</pre>

<p>Of course, use this only when your app runs at "/".</p>

<p>Since lighttpd 1.4.23, you also can use the "fix-root-scriptname" flag in
fastcgi.server.</p>
</li></ul>

<h1>Known conflicts regarding parameter parsing</h1>

<pre>* Many users have differing opinions about parameter parsing. The current
  parameter parsers in Rack are based on a combination of the HTTP and CGI
  specs, and are intended to round-trip encoding and decoding. There are some
  choices that may be viewed as deficiencies, specifically:
   - Rack does not create implicit arrays for multiple instances of a parameter
   - Rack returns nil when a value is not given
   - Rack does not support multi-type keys in parameters
  These issues or choices, will not be fixed before 2.0, if at all. They are
  very major breaking changes. Users are free to write alternative parameter
  parsers, and their own Request and Response wrappers. Moreover, users are
  encouraged to do so.</pre>

  </div>

  <div id="validator-badges">
    <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
    <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
      Rdoc Generator</a> 2</small>.</p>
  </div>
</body>
</html>