1 # Copyright (C) 2007, 2008, 2009, 2010 Christian Neukirchen <purl.org/net/chneukirchen>
3 # Rack is freely distributable under the terms of an MIT-style license.
4 # See COPYING or http://www.opensource.org/licenses/mit-license.php.
6 # The Rack main module, serving as a namespace for all core Rack
9 # All modules meant for use in your application are <tt>autoload</tt>ed here,
10 # so it should be enough just to <tt>require 'rack'</tt> in your code.
13 # The Rack protocol version number implemented.
16 # Return the Rack protocol version as a dotted string.
23 # Return the Rack release as a dotted string.
28 HTTP_HOST = 'HTTP_HOST'.freeze
29 HTTP_VERSION = 'HTTP_VERSION'.freeze
30 HTTPS = 'HTTPS'.freeze
31 PATH_INFO = 'PATH_INFO'.freeze
32 REQUEST_METHOD = 'REQUEST_METHOD'.freeze
33 REQUEST_PATH = 'REQUEST_PATH'.freeze
34 SCRIPT_NAME = 'SCRIPT_NAME'.freeze
35 QUERY_STRING = 'QUERY_STRING'.freeze
36 SERVER_PROTOCOL = 'SERVER_PROTOCOL'.freeze
37 SERVER_NAME = 'SERVER_NAME'.freeze
38 SERVER_ADDR = 'SERVER_ADDR'.freeze
39 SERVER_PORT = 'SERVER_PORT'.freeze
40 CACHE_CONTROL = 'Cache-Control'.freeze
41 CONTENT_LENGTH = 'Content-Length'.freeze
42 CONTENT_TYPE = 'Content-Type'.freeze
43 SET_COOKIE = 'Set-Cookie'.freeze
44 TRANSFER_ENCODING = 'Transfer-Encoding'.freeze
45 HTTP_COOKIE = 'HTTP_COOKIE'.freeze
52 PATCH = 'PATCH'.freeze
53 DELETE = 'DELETE'.freeze
55 OPTIONS = 'OPTIONS'.freeze
57 UNLINK = 'UNLINK'.freeze
58 TRACE = 'TRACE'.freeze
60 # Rack environment variables
61 RACK_VERSION = 'rack.version'.freeze
62 RACK_TEMPFILES = 'rack.tempfiles'.freeze
63 RACK_ERRORS = 'rack.errors'.freeze
64 RACK_LOGGER = 'rack.logger'.freeze
65 RACK_INPUT = 'rack.input'.freeze
66 RACK_SESSION = 'rack.session'.freeze
67 RACK_SESSION_OPTIONS = 'rack.session.options'.freeze
68 RACK_SHOWSTATUS_DETAIL = 'rack.showstatus.detail'.freeze
69 RACK_MULTITHREAD = 'rack.multithread'.freeze
70 RACK_MULTIPROCESS = 'rack.multiprocess'.freeze
71 RACK_RUNONCE = 'rack.run_once'.freeze
72 RACK_URL_SCHEME = 'rack.url_scheme'.freeze
73 RACK_HIJACK = 'rack.hijack'.freeze
74 RACK_IS_HIJACK = 'rack.hijack?'.freeze
75 RACK_HIJACK_IO = 'rack.hijack_io'.freeze
76 RACK_RECURSIVE_INCLUDE = 'rack.recursive.include'.freeze
77 RACK_MULTIPART_BUFFER_SIZE = 'rack.multipart.buffer_size'.freeze
78 RACK_MULTIPART_TEMPFILE_FACTORY = 'rack.multipart.tempfile_factory'.freeze
79 RACK_REQUEST_FORM_INPUT = 'rack.request.form_input'.freeze
80 RACK_REQUEST_FORM_HASH = 'rack.request.form_hash'.freeze
81 RACK_REQUEST_FORM_VARS = 'rack.request.form_vars'.freeze
82 RACK_REQUEST_COOKIE_HASH = 'rack.request.cookie_hash'.freeze
83 RACK_REQUEST_COOKIE_STRING = 'rack.request.cookie_string'.freeze
84 RACK_REQUEST_QUERY_HASH = 'rack.request.query_hash'.freeze
85 RACK_REQUEST_QUERY_STRING = 'rack.request.query_string'.freeze
86 RACK_METHODOVERRIDE_ORIGINAL_METHOD = 'rack.methodoverride.original_method'.freeze
87 RACK_SESSION_UNPACKED_COOKIE_DATA = 'rack.session.unpacked_cookie_data'.freeze
89 autoload :Builder, "rack/builder"
90 autoload :BodyProxy, "rack/body_proxy"
91 autoload :Cascade, "rack/cascade"
92 autoload :Chunked, "rack/chunked"
93 autoload :CommonLogger, "rack/common_logger"
94 autoload :ConditionalGet, "rack/conditional_get"
95 autoload :Config, "rack/config"
96 autoload :ContentLength, "rack/content_length"
97 autoload :ContentType, "rack/content_type"
98 autoload :ETag, "rack/etag"
99 autoload :File, "rack/file"
100 autoload :Deflater, "rack/deflater"
101 autoload :Directory, "rack/directory"
102 autoload :ForwardRequest, "rack/recursive"
103 autoload :Handler, "rack/handler"
104 autoload :Head, "rack/head"
105 autoload :Lint, "rack/lint"
106 autoload :Lock, "rack/lock"
107 autoload :Logger, "rack/logger"
108 autoload :MethodOverride, "rack/method_override"
109 autoload :Mime, "rack/mime"
110 autoload :NullLogger, "rack/null_logger"
111 autoload :Recursive, "rack/recursive"
112 autoload :Reloader, "rack/reloader"
113 autoload :Runtime, "rack/runtime"
114 autoload :Sendfile, "rack/sendfile"
115 autoload :Server, "rack/server"
116 autoload :ShowExceptions, "rack/show_exceptions"
117 autoload :ShowStatus, "rack/show_status"
118 autoload :Static, "rack/static"
119 autoload :TempfileReaper, "rack/tempfile_reaper"
120 autoload :URLMap, "rack/urlmap"
121 autoload :Utils, "rack/utils"
122 autoload :Multipart, "rack/multipart"
124 autoload :MockRequest, "rack/mock"
125 autoload :MockResponse, "rack/mock"
127 autoload :Request, "rack/request"
128 autoload :Response, "rack/response"
131 autoload :Basic, "rack/auth/basic"
132 autoload :AbstractRequest, "rack/auth/abstract/request"
133 autoload :AbstractHandler, "rack/auth/abstract/handler"
135 autoload :MD5, "rack/auth/digest/md5"
136 autoload :Nonce, "rack/auth/digest/nonce"
137 autoload :Params, "rack/auth/digest/params"
138 autoload :Request, "rack/auth/digest/request"
143 autoload :Cookie, "rack/session/cookie"
144 autoload :Pool, "rack/session/pool"
145 autoload :Memcache, "rack/session/memcache"