D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
alt
/
ruby18
/
lib64
/
ruby
/
gems
/
1.8
/
doc
/
rack-1.6.1
/
rdoc
/
classes
/
Filename :
Rack.html
back
Copy
<?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>Module: Rack</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>Module</strong></td> <td class="class-name-in-header">Rack</td> </tr> <tr class="top-aligned-row"> <td><strong>In:</strong></td> <td> <a href="../files/lib/rack/lint_rb.html"> lib/rack/lint.rb </a> <br /> <a href="../files/lib/rack/showstatus_rb.html"> lib/rack/showstatus.rb </a> <br /> <a href="../files/lib/rack/methodoverride_rb.html"> lib/rack/methodoverride.rb </a> <br /> <a href="../files/lib/rack/content_length_rb.html"> lib/rack/content_length.rb </a> <br /> <a href="../files/lib/rack/mock_rb.html"> lib/rack/mock.rb </a> <br /> <a href="../files/lib/rack/builder_rb.html"> lib/rack/builder.rb </a> <br /> <a href="../files/lib/rack/request_rb.html"> lib/rack/request.rb </a> <br /> <a href="../files/lib/rack/mime_rb.html"> lib/rack/mime.rb </a> <br /> <a href="../files/lib/rack/cascade_rb.html"> lib/rack/cascade.rb </a> <br /> <a href="../files/lib/rack/config_rb.html"> lib/rack/config.rb </a> <br /> <a href="../files/lib/rack/etag_rb.html"> lib/rack/etag.rb </a> <br /> <a href="../files/lib/rack/lock_rb.html"> lib/rack/lock.rb </a> <br /> <a href="../files/lib/rack/response_rb.html"> lib/rack/response.rb </a> <br /> <a href="../files/lib/rack/tempfile_reaper_rb.html"> lib/rack/tempfile_reaper.rb </a> <br /> <a href="../files/lib/rack/showexceptions_rb.html"> lib/rack/showexceptions.rb </a> <br /> <a href="../files/lib/rack/multipart/uploaded_file_rb.html"> lib/rack/multipart/uploaded_file.rb </a> <br /> <a href="../files/lib/rack/multipart/parser_rb.html"> lib/rack/multipart/parser.rb </a> <br /> <a href="../files/lib/rack/multipart/generator_rb.html"> lib/rack/multipart/generator.rb </a> <br /> <a href="../files/lib/rack/content_type_rb.html"> lib/rack/content_type.rb </a> <br /> <a href="../files/lib/rack/handler_rb.html"> lib/rack/handler.rb </a> <br /> <a href="../files/lib/rack/sendfile_rb.html"> lib/rack/sendfile.rb </a> <br /> <a href="../files/lib/rack/body_proxy_rb.html"> lib/rack/body_proxy.rb </a> <br /> <a href="../files/lib/rack/rewindable_input_rb.html"> lib/rack/rewindable_input.rb </a> <br /> <a href="../files/lib/rack/head_rb.html"> lib/rack/head.rb </a> <br /> <a href="../files/lib/rack/reloader_rb.html"> lib/rack/reloader.rb </a> <br /> <a href="../files/lib/rack/lobster_rb.html"> lib/rack/lobster.rb </a> <br /> <a href="../files/lib/rack/directory_rb.html"> lib/rack/directory.rb </a> <br /> <a href="../files/lib/rack/nulllogger_rb.html"> lib/rack/nulllogger.rb </a> <br /> <a href="../files/lib/rack/server_rb.html"> lib/rack/server.rb </a> <br /> <a href="../files/lib/rack/chunked_rb.html"> lib/rack/chunked.rb </a> <br /> <a href="../files/lib/rack/auth/basic_rb.html"> lib/rack/auth/basic.rb </a> <br /> <a href="../files/lib/rack/auth/digest/request_rb.html"> lib/rack/auth/digest/request.rb </a> <br /> <a href="../files/lib/rack/auth/digest/params_rb.html"> lib/rack/auth/digest/params.rb </a> <br /> <a href="../files/lib/rack/auth/digest/nonce_rb.html"> lib/rack/auth/digest/nonce.rb </a> <br /> <a href="../files/lib/rack/auth/digest/md5_rb.html"> lib/rack/auth/digest/md5.rb </a> <br /> <a href="../files/lib/rack/auth/abstract/request_rb.html"> lib/rack/auth/abstract/request.rb </a> <br /> <a href="../files/lib/rack/auth/abstract/handler_rb.html"> lib/rack/auth/abstract/handler.rb </a> <br /> <a href="../files/lib/rack/handler/lsws_rb.html"> lib/rack/handler/lsws.rb </a> <br /> <a href="../files/lib/rack/handler/swiftiplied_mongrel_rb.html"> lib/rack/handler/swiftiplied_mongrel.rb </a> <br /> <a href="../files/lib/rack/handler/evented_mongrel_rb.html"> lib/rack/handler/evented_mongrel.rb </a> <br /> <a href="../files/lib/rack/handler/webrick_rb.html"> lib/rack/handler/webrick.rb </a> <br /> <a href="../files/lib/rack/handler/thin_rb.html"> lib/rack/handler/thin.rb </a> <br /> <a href="../files/lib/rack/handler/scgi_rb.html"> lib/rack/handler/scgi.rb </a> <br /> <a href="../files/lib/rack/handler/mongrel_rb.html"> lib/rack/handler/mongrel.rb </a> <br /> <a href="../files/lib/rack/handler/cgi_rb.html"> lib/rack/handler/cgi.rb </a> <br /> <a href="../files/lib/rack/handler/fastcgi_rb.html"> lib/rack/handler/fastcgi.rb </a> <br /> <a href="../files/lib/rack/recursive_rb.html"> lib/rack/recursive.rb </a> <br /> <a href="../files/lib/rack/session/pool_rb.html"> lib/rack/session/pool.rb </a> <br /> <a href="../files/lib/rack/session/cookie_rb.html"> lib/rack/session/cookie.rb </a> <br /> <a href="../files/lib/rack/session/memcache_rb.html"> lib/rack/session/memcache.rb </a> <br /> <a href="../files/lib/rack/session/abstract/id_rb.html"> lib/rack/session/abstract/id.rb </a> <br /> <a href="../files/lib/rack/multipart_rb.html"> lib/rack/multipart.rb </a> <br /> <a href="../files/lib/rack/file_rb.html"> lib/rack/file.rb </a> <br /> <a href="../files/lib/rack/utils_rb.html"> lib/rack/utils.rb </a> <br /> <a href="../files/lib/rack/conditionalget_rb.html"> lib/rack/conditionalget.rb </a> <br /> <a href="../files/lib/rack/runtime_rb.html"> lib/rack/runtime.rb </a> <br /> <a href="../files/lib/rack/deflater_rb.html"> lib/rack/deflater.rb </a> <br /> <a href="../files/lib/rack/static_rb.html"> lib/rack/static.rb </a> <br /> <a href="../files/lib/rack/commonlogger_rb.html"> lib/rack/commonlogger.rb </a> <br /> <a href="../files/lib/rack/logger_rb.html"> lib/rack/logger.rb </a> <br /> <a href="../files/lib/rack/urlmap_rb.html"> lib/rack/urlmap.rb </a> <br /> <a href="../files/lib/rack_rb.html"> lib/rack.rb </a> <br /> </td> </tr> </table> </div> <!-- banner header --> <div id="bodyContent"> <div id="contextContent"> <div id="description"> <p> The <a href="Rack.html">Rack</a> main module, serving as a namespace for all core <a href="Rack.html">Rack</a> modules and classes. </p> <p> All modules meant for use in your application are <tt>autoload</tt>ed here, so it should be enough just to <tt>require rack.rb</tt> in your code. </p> </div> </div> <div id="method-list"> <h3 class="section-bar">Methods</h3> <div class="name-list"> <a href="#M000043">call</a> <a href="#M000044">parse_nested_query</a> <a href="#M000046">release</a> <a href="#M000045">version</a> </div> </div> </div> <!-- if includes --> <div id="section"> <div id="class-list"> <h3 class="section-bar">Classes and Modules</h3> Module <a href="Rack/Auth.html" class="link">Rack::Auth</a><br /> Module <a href="Rack/Handler.html" class="link">Rack::Handler</a><br /> Module <a href="Rack/Mime.html" class="link">Rack::Mime</a><br /> Module <a href="Rack/Multipart.html" class="link">Rack::Multipart</a><br /> Module <a href="Rack/Session.html" class="link">Rack::Session</a><br /> Module <a href="Rack/Utils.html" class="link">Rack::Utils</a><br /> Class <a href="Rack/BodyProxy.html" class="link">Rack::BodyProxy</a><br /> Class <a href="Rack/Builder.html" class="link">Rack::Builder</a><br /> Class <a href="Rack/Cascade.html" class="link">Rack::Cascade</a><br /> Class <a href="Rack/Chunked.html" class="link">Rack::Chunked</a><br /> Class <a href="Rack/CommonLogger.html" class="link">Rack::CommonLogger</a><br /> Class <a href="Rack/ConditionalGet.html" class="link">Rack::ConditionalGet</a><br /> Class <a href="Rack/Config.html" class="link">Rack::Config</a><br /> Class <a href="Rack/ContentLength.html" class="link">Rack::ContentLength</a><br /> Class <a href="Rack/ContentType.html" class="link">Rack::ContentType</a><br /> Class <a href="Rack/Deflater.html" class="link">Rack::Deflater</a><br /> Class <a href="Rack/Directory.html" class="link">Rack::Directory</a><br /> Class <a href="Rack/ETag.html" class="link">Rack::ETag</a><br /> Class <a href="Rack/File.html" class="link">Rack::File</a><br /> Class <a href="Rack/ForwardRequest.html" class="link">Rack::ForwardRequest</a><br /> Class <a href="Rack/Head.html" class="link">Rack::Head</a><br /> Class <a href="Rack/Lint.html" class="link">Rack::Lint</a><br /> Class <a href="Rack/Lobster.html" class="link">Rack::Lobster</a><br /> Class <a href="Rack/Lock.html" class="link">Rack::Lock</a><br /> Class <a href="Rack/Logger.html" class="link">Rack::Logger</a><br /> Class <a href="Rack/MethodOverride.html" class="link">Rack::MethodOverride</a><br /> Class <a href="Rack/MockRequest.html" class="link">Rack::MockRequest</a><br /> Class <a href="Rack/MockResponse.html" class="link">Rack::MockResponse</a><br /> Class <a href="Rack/NullLogger.html" class="link">Rack::NullLogger</a><br /> Class <a href="Rack/Recursive.html" class="link">Rack::Recursive</a><br /> Class <a href="Rack/Reloader.html" class="link">Rack::Reloader</a><br /> Class <a href="Rack/Request.html" class="link">Rack::Request</a><br /> Class <a href="Rack/Response.html" class="link">Rack::Response</a><br /> Class <a href="Rack/RewindableInput.html" class="link">Rack::RewindableInput</a><br /> Class <a href="Rack/Runtime.html" class="link">Rack::Runtime</a><br /> Class <a href="Rack/Sendfile.html" class="link">Rack::Sendfile</a><br /> Class <a href="Rack/Server.html" class="link">Rack::Server</a><br /> Class <a href="Rack/ShowExceptions.html" class="link">Rack::ShowExceptions</a><br /> Class <a href="Rack/ShowStatus.html" class="link">Rack::ShowStatus</a><br /> Class <a href="Rack/Static.html" class="link">Rack::Static</a><br /> Class <a href="Rack/TempfileReaper.html" class="link">Rack::TempfileReaper</a><br /> Class <a href="Rack/URLMap.html" class="link">Rack::URLMap</a><br /> </div> <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">VERSION</td> <td>=</td> <td class="context-item-value">[1,3]</td> <td width="3em"> </td> <td class="context-item-desc"> The <a href="Rack.html">Rack</a> protocol <a href="Rack.html#M000045">version</a> number implemented. </td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">PATH_INFO</td> <td>=</td> <td class="context-item-value">'PATH_INFO'.freeze</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">REQUEST_METHOD</td> <td>=</td> <td class="context-item-value">'REQUEST_METHOD'.freeze</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">SCRIPT_NAME</td> <td>=</td> <td class="context-item-value">'SCRIPT_NAME'.freeze</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">QUERY_STRING</td> <td>=</td> <td class="context-item-value">'QUERY_STRING'.freeze</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">CACHE_CONTROL</td> <td>=</td> <td class="context-item-value">'Cache-Control'.freeze</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">CONTENT_LENGTH</td> <td>=</td> <td class="context-item-value">'Content-Length'.freeze</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">CONTENT_TYPE</td> <td>=</td> <td class="context-item-value">'Content-Type'.freeze</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">GET</td> <td>=</td> <td class="context-item-value">'GET'.freeze</td> </tr> <tr class="top-aligned-row context-row"> <td class="context-item-name">HEAD</td> <td>=</td> <td class="context-item-value">'HEAD'.freeze</td> </tr> </table> </div> </div> <!-- if method_list --> <div id="methods"> <h3 class="section-bar">Public Class methods</h3> <div id="method-M000046" class="method-detail"> <a name="M000046"></a> <div class="method-heading"> <a href="Rack.src/M000046.html" target="Code" class="method-signature" onclick="popupCode('Rack.src/M000046.html');return false;"> <span class="method-name">release</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Return the <a href="Rack.html">Rack</a> <a href="Rack.html#M000046">release</a> as a dotted string. </p> </div> </div> <div id="method-M000045" class="method-detail"> <a name="M000045"></a> <div class="method-heading"> <a href="Rack.src/M000045.html" target="Code" class="method-signature" onclick="popupCode('Rack.src/M000045.html');return false;"> <span class="method-name">version</span><span class="method-args">()</span> </a> </div> <div class="method-description"> <p> Return the <a href="Rack.html">Rack</a> protocol <a href="Rack.html#M000045">version</a> as a dotted string. </p> </div> </div> <h3 class="section-bar">Public Instance methods</h3> <div id="method-M000043" class="method-detail"> <a name="M000043"></a> <div class="method-heading"> <a href="Rack.src/M000043.html" target="Code" class="method-signature" onclick="popupCode('Rack.src/M000043.html');return false;"> <span class="method-name">call</span><span class="method-args">(env)</span> </a> </div> <div class="method-description"> </div> </div> <div id="method-M000044" class="method-detail"> <a name="M000044"></a> <div class="method-heading"> <a href="Rack.src/M000044.html" target="Code" class="method-signature" onclick="popupCode('Rack.src/M000044.html');return false;"> <span class="method-name">parse_nested_query</span><span class="method-args">(qs, d = nil)</span> </a> </div> <div class="method-description"> <p> <a href="Rack.html#M000044">parse_nested_query</a> expands a query string into structural types. Supported types are Arrays, Hashes and basic value types. It is possible to supply query strings with parameters of conflicting types, in this case a ParameterTypeError is raised. Users are encouraged to return a 400 in this case. </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>