REDROOM
PHP 8.2.31
Path:
Logout
Edit File
Size: 13.06 KB
Close
/proc/thread-self/root/opt/alt/ruby19/lib64/ruby/gems/1.9.1/doc/rack-1.6.4/rdoc/KNOWN-ISSUES.html
Text
Base64
<?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["PATH_INFO"] = env["SCRIPT_NAME"].to_s + env["PATH_INFO"].to_s env["SCRIPT_NAME"] = "" @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>
Save
Close
Exit & Reset
Text mode: syntax highlighting auto-detects file type.
Directory Contents
Dirs: 6 × Files: 8
Delete Selected
Select All
Select None
Sort:
Name
Size
Modified
Enable drag-to-move
Name
Size
Perms
Modified
Actions
FCGI
DIR
-
drwxr-xr-x
2024-03-03 22:48:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
images
DIR
-
drwxr-xr-x
2024-03-03 22:48:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
js
DIR
-
drwxr-xr-x
2024-03-03 22:48:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
lib
DIR
-
drwxr-xr-x
2024-03-03 22:48:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Rack
DIR
-
drwxr-xr-x
2024-03-03 22:48:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
WEBrick
DIR
-
drwxr-xr-x
2024-03-03 22:48:10
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
created.rid
3.82 KB
lrw-r--r--
2019-12-05 22:59:34
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
FCGI.html
12.03 KB
lrw-r--r--
2019-12-05 22:59:33
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
index.html
60.80 KB
lrw-r--r--
2019-12-05 22:59:33
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
KNOWN-ISSUES.html
13.06 KB
lrw-r--r--
2019-12-05 22:59:34
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Object.html
12.40 KB
lrw-r--r--
2019-12-05 22:59:33
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Rack.html
33.49 KB
lrw-r--r--
2019-12-05 22:59:33
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
rdoc.css
13.37 KB
lrw-r--r--
2019-12-05 22:59:33
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
WEBrick.html
12.06 KB
lrw-r--r--
2019-12-05 22:59:34
Edit
Download
Rename
Chmod
Change Date
Delete
OK
Cancel
recursive
OK
Cancel
recursive
OK
Cancel
Zip Selected
If ZipArchive is unavailable, a
.tar
will be created (no compression).