Permalink
Browse files

Cleanup

  • Loading branch information...
1 parent 484a71e commit 28b8fa38b4b29e714a8202cd3c09d2880db50b79 @chneukirchen chneukirchen committed May 31, 2008
Showing with 0 additions and 18,098 deletions.
  1. +0 −798 ChangeLog
  2. +0 −230 RDOX
  3. +0 −132 SPEC
  4. +0 −390 doc/classes/Rack.html
  5. +0 −130 doc/classes/Rack/Adapter.html
  6. +0 −181 doc/classes/Rack/Adapter/Camping.html
  7. +0 −121 doc/classes/Rack/Auth.html
  8. +0 −179 doc/classes/Rack/Auth/Basic.html
  9. +0 −194 doc/classes/Rack/Auth/Basic/Request.html
  10. +0 −105 doc/classes/Rack/Auth/Digest.html
  11. +0 −409 doc/classes/Rack/Auth/OpenID.html
  12. +0 −307 doc/classes/Rack/Builder.html
  13. +0 −265 doc/classes/Rack/Cascade.html
  14. +0 −284 doc/classes/Rack/CommonLogger.html
  15. +0 −283 doc/classes/Rack/File.html
  16. +0 −184 doc/classes/Rack/ForwardRequest.html
  17. +0 −232 doc/classes/Rack/Handler.html
  18. +0 −254 doc/classes/Rack/Handler/CGI.html
  19. +0 −113 doc/classes/Rack/Handler/EventedMongrel.html
  20. +0 −262 doc/classes/Rack/Handler/FastCGI.html
  21. +0 −250 doc/classes/Rack/Handler/LSWS.html
  22. +0 −254 doc/classes/Rack/Handler/Mongrel.html
  23. +0 −244 doc/classes/Rack/Handler/SCGI.html
  24. +0 −233 doc/classes/Rack/Handler/WEBrick.html
  25. +0 −154 doc/classes/Rack/Lint.html
  26. +0 −136 doc/classes/Rack/Lobster.html
  27. +0 −375 doc/classes/Rack/MockRequest.html
  28. +0 −217 doc/classes/Rack/MockRequest/FatalWarner.html
  29. +0 −111 doc/classes/Rack/MockRequest/FatalWarning.html
  30. +0 −298 doc/classes/Rack/MockResponse.html
  31. +0 −218 doc/classes/Rack/Recursive.html
  32. +0 −249 doc/classes/Rack/Reloader.html
  33. +0 −1,065 doc/classes/Rack/Request.html
  34. +0 −513 doc/classes/Rack/Response.html
  35. +0 −479 doc/classes/Rack/Response/Helpers.html
  36. +0 −125 doc/classes/Rack/Session.html
  37. +0 −197 doc/classes/Rack/Session/Cookie.html
  38. +0 −200 doc/classes/Rack/Session/Memcache.html
  39. +0 −201 doc/classes/Rack/Session/Pool.html
  40. +0 −256 doc/classes/Rack/ShowExceptions.html
  41. +0 −196 doc/classes/Rack/ShowStatus.html
  42. +0 −205 doc/classes/Rack/Static.html
  43. +0 −214 doc/classes/Rack/URLMap.html
  44. +0 −318 doc/classes/Rack/Utils.html
  45. +0 −235 doc/classes/Rack/Utils/Context.html
  46. +0 −250 doc/classes/Rack/Utils/HeaderHash.html
  47. +0 −246 doc/classes/Rack/Utils/Multipart.html
  48. +0 −1 doc/created.rid
  49. +0 −127 doc/files/KNOWN-ISSUES.html
  50. +0 −706 doc/files/RDOX.html
  51. +0 −561 doc/files/README.html
  52. +0 −329 doc/files/SPEC.html
  53. +0 −101 doc/files/lib/rack/adapter/camping_rb.html
  54. +0 −109 doc/files/lib/rack/auth/basic_rb.html
  55. +0 −115 doc/files/lib/rack/auth/openid_rb.html
  56. +0 −101 doc/files/lib/rack/builder_rb.html
  57. +0 −101 doc/files/lib/rack/cascade_rb.html
  58. +0 −101 doc/files/lib/rack/commonlogger_rb.html
  59. +0 −108 doc/files/lib/rack/file_rb.html
  60. +0 −101 doc/files/lib/rack/handler/cgi_rb.html
  61. +0 −108 doc/files/lib/rack/handler/evented_mongrel_rb.html
  62. +0 −108 doc/files/lib/rack/handler/fastcgi_rb.html
  63. +0 −108 doc/files/lib/rack/handler/lsws_rb.html
  64. +0 −109 doc/files/lib/rack/handler/mongrel_rb.html
  65. +0 −109 doc/files/lib/rack/handler/scgi_rb.html
  66. +0 −109 doc/files/lib/rack/handler/webrick_rb.html
  67. +0 −101 doc/files/lib/rack/handler_rb.html
  68. +0 −101 doc/files/lib/rack/lint_rb.html
  69. +0 −110 doc/files/lib/rack/lobster_rb.html
  70. +0 −112 doc/files/lib/rack/mock_rb.html
  71. +0 −108 doc/files/lib/rack/recursive_rb.html
  72. +0 −108 doc/files/lib/rack/reloader_rb.html
  73. +0 −108 doc/files/lib/rack/request_rb.html
  74. +0 −109 doc/files/lib/rack/response_rb.html
  75. +0 −101 doc/files/lib/rack/session/cookie_rb.html
  76. +0 −115 doc/files/lib/rack/session/memcache_rb.html
  77. +0 −120 doc/files/lib/rack/session/pool_rb.html
  78. +0 −110 doc/files/lib/rack/showexceptions_rb.html
  79. +0 −110 doc/files/lib/rack/showstatus_rb.html
  80. +0 −101 doc/files/lib/rack/static_rb.html
  81. +0 −101 doc/files/lib/rack/urlmap_rb.html
  82. +0 −108 doc/files/lib/rack/utils_rb.html
  83. +0 −113 doc/files/lib/rack_rb.html
  84. +0 −70 doc/fr_class_index.html
  85. +0 −61 doc/fr_file_index.html
  86. +0 −195 doc/fr_method_index.html
  87. +0 −24 doc/index.html
  88. +0 −208 doc/rdoc-style.css
  89. BIN rack-0.3.61-gc3d6e4a.tar.gz
View
798 ChangeLog
@@ -1,798 +0,0 @@
-Sun May 25 14:32:00 2008 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add Rack.release for the version of the release.
-
-Sat May 24 17:54:49 2008 +0200 Christian Neukirchen <chneukirchen@gmail.com>
- * Merge commit 'josh/master'
-
-Sat May 24 15:54:00 2008 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Allow handlers to register themselves with Rack::Handler.
-
-Sat May 24 09:57:09 2008 -0500 Joshua Peek <josh@joshpeek.com>
- * Allow handlers to register themselves with Rack::Handler.
-
-Sat May 24 14:23:10 2008 +0200 Christian Neukirchen <chneukirchen@gmail.com>
- * Merge commit '37c59dce25df4'
-
-Sat May 24 12:22:00 2008 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Merge walf443/rack-mirror
-
-Sat May 24 02:16:39 2008 +0900 Keiji, Yoshimi <walf443@gmail dot com>
- * It may be better to show HTTP_X_FORWARDED_FOR if it exists.
- It's useful when using reverse proxy in front of app server using Rack.
-
-Sun May 18 17:06:58 2008 +0200 Christian Neukirchen <chneukirchen@gmail.com>
- * Merge commit 'josh/master'
-
-Sun May 18 15:05:00 2008 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Merge 'josh/rack-mirror'
-
-Sat May 17 15:39:16 2008 -0500 Joshua Peek <josh@joshpeek.com>
- * Include EventedMongrel handler with Rack.
-
-Sat May 10 17:16:29 2008 +0200 Christian Neukirchen <chneukirchen@gmail.com>
- * Merge commit 'josh/daemonize'
-
-Sat May 10 15:10:00 2008 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Merge josh/daemonize
-
-Tue May 6 18:14:47 2008 -0500 Joshua Peek <josh@joshpeek.com>
- * Only write a rack pid if a file is given.
-
-Tue May 6 15:44:15 2008 -0500 Joshua Peek <josh@joshpeek.com>
- * Added support for daemonizing servers started with rackup.
-
-Fri May 2 21:05:00 2008 +0000 Christoffer Sawicki <christoffer.sawicki@gmail.com>
- * utils.rb, spec_rack_utils.rb - Added build_query, the inverse of parse_query
-
-Fri May 2 20:53:00 2008 +0000 Christoffer Sawicki <christoffer.sawicki@gmail.com>
- * utils.rb - Cleaned up parse_query
-
-Fri May 2 21:04:00 2008 +0000 Christoffer Sawicki <christoffer.sawicki@gmail.com>
- * spec_rack_utils.rb - Added another test for parse_query
-
-Fri Apr 18 10:12:00 2008 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Open multipart tempfiles in binary mode
-
-Thu Apr 10 20:26:00 2008 +0000 ryan <chneukirchen@gmail.com>
- * handle EOFError exception in Request#params
-
-Thu Mar 27 11:09:00 2008 +0000 Adam Harper <adam@harper.nu>
- * Bug fix for Tempfile POST bodies under Ruby 1.8
-
- The Tempfile class in Ruby 1.8 doesn't implement the == method correctly.
- This causes Rack::Requests to re-parse the input (when the input is a
- Tempfile) each time the POST method is called, this in turn raises an
- EOFError because the input has already been read.
-
- One example of when this happens is when handling large POST requests
- (e.g. file uploads) under Mongrel.
-
- This issue only effects Ruby 1.8 (tested against 1.8.6). Ruby 1.9 does
- not suffer from this issue (presumably due to changes in the Delegate
- implementation.)
-
-Sat Mar 29 04:32:00 2008 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * memcache.rb - Fixed immortal key bug, updated tests
-
- Old multithread behaviour was to merge sessions, which would never delete
- keys, even if deleted in the current session.
-
-Tue Mar 25 11:15:00 2008 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * abstract/id.rb - Added check on correctness of response.
-
-Thu Mar 20 16:11:00 2008 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Run Rack::Session::Memcache tests in fulltest only
-
-Wed Mar 19 11:43:00 2008 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * memcache.rb - memcached based session management
-
-Thu Mar 20 16:06:00 2008 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Rack::Reloader is not loaded in rackup development mode anymore
-
-Tue Mar 18 04:04:00 2008 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * openid.rb - documentation and check on using ruby-openid 1.x.x
-
-Tue Mar 18 10:59:00 2008 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Update History
-
-Tue Mar 18 10:57:00 2008 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Update Rakefile
-
-Tue Mar 18 10:55:00 2008 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Make fulltest chmod the executables
-
-Tue Mar 18 10:54:00 2008 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Small README tweak
-
-Mon Mar 17 23:28:00 2008 +0000 stephen.bannasch <chneukirchen@gmail.com>
- * Changes to get lighttpd setup and running when rake fulltest is run; also added some doc to the readme about running tests
-
-Mon Mar 17 16:03:00 2008 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * urlmap.rb - update test in allowance of non-destructive HeaderHash
-
-Mon Mar 17 15:59:00 2008 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * pool.rb - cleanup of session merging and threading collision checks
-
-Mon Mar 17 15:51:00 2008 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * URLMap tweaks and more tests
-
-Mon Mar 17 15:51:00 2008 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Don't lose empty headers in HeaderHash
-
-Mon Mar 17 15:26:00 2008 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * urlmap.rb - alteration of path selection routines, with updated tests
-
- Previous implementation would append an extra '/' if PATH_NAME would otherwise
- be empty.
-
-Mon Mar 17 11:19:00 2008 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * pool.rb - explicit require for thread stdlib
-
-Mon Mar 17 09:12:00 2008 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * pool.rb, id.rb - creation of abstract id based session handler
-
- Allows simpler implementation of various storage based sessioning.
- More stringent type checks in id.rb
-
-Sun Mar 16 14:31:00 2008 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * updated and addition to tests for pool.rb for expiration and thread safety
-
- Running the freshness tests sleeps for 4 seconds to allow a session's
- expiration point to pass.
-
-Sun Mar 16 14:30:00 2008 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * pool.rb - addition of session freshness check and upkeep routines
-
-Sun Mar 16 13:23:00 2008 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * utils.rb - Utils::Context - addition of introspection methods
-
-Sun Mar 16 11:55:00 2008 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * pool.rb - documentation update and collision warnings
-
-Sun Mar 16 09:01:00 2008 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * pool.rb - documentation revision, addition of @mutex accessor
-
-Sun Mar 16 08:33:00 2008 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * pool.rb - setup of expiry not using defined?, from apeiros
-
-Sun Mar 16 08:26:00 2008 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * pool.rb - saner metadata storage
-
-Sun Mar 16 08:23:00 2008 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * pool.rb - cleanup and THANKS
-
-Sun Mar 16 08:21:00 2008 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * pool.rb - addition of thread safety
-
-Sun Mar 16 04:59:00 2008 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * pool.rb - moved cookie building back to #commit_session
-
-Fri Mar 14 23:57:00 2008 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * pool.rb - faster session id generation from apeiros
-
-Mon Mar 17 10:56:00 2008 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Require time in rack/file.rb
-
- Reported by Stephen Bannasch.
-
-Sat Mar 15 13:51:00 2008 +0000 r <chneukirchen@gmail.com>
- * Fix that Request assumes form-data even when Content-Type says otherwise
-
- Fixes cases where accessing Request#params causes the body to be read and
- processed as form-data improperly. For example, consider the following
- request:
-
- PUT /foo/bar?baz=bizzle HTTP/1.1
- Content-Type: text/plain
-
- This is not form-data.
-
- When Rack::Request gets ahold of the corresponding environment, and the
- application attempts to access the "baz" query string param, the body is read
- and interpreted as form-data. If the body is an IOish object, this causes the
- offset to be forwarded to the end of file.
-
- The patch prevents the Request#POST method from going into the body unless the
- media type is application/x-www-form-urlencoded, multipart/form-data, or not
- specified.
-
- While here, added a few unrelated helper methods to Request that I've found
- particularly useful in Rack apps: #content_length, #head?, and #content_charset.
-
- Tests and doc included for all changes.
-
-Tue Mar 11 12:02:00 2008 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * pool.rb - cleanup and portability revisions
-
-Tue Mar 11 11:59:00 2008 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * pool.rb - exported assignment of session id cookie
-
-Tue Mar 11 11:56:00 2008 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * pool.rb - exported session to pool commit
-
-Tue Mar 11 11:52:00 2008 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * pool.rb - altered session metadata storage and session commit point
-
-Tue Mar 11 11:29:00 2008 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * pool.rb - exported generation of a new session id
-
-Tue Mar 11 11:25:00 2008 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * pool.rb - moved inline hash to DEFAULT_OPTIONS
-
-Tue Mar 11 11:11:00 2008 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * pool.rb - removal of blocks for #context
-
- Before you could pass a block to Pool#context that would be passed the env
- before performing a call on the passed app. This has been removed in deference
- to the practice setting up the block as the passed app, which should
- subsequently call the intended app.
- Seems more in accordance with Rack's prescribed behaviour.
-
-Tue Mar 11 07:51:00 2008 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * Alteration of Mongrel.run for Mongrel based routing
-
- With the passing of the :map option Mongrel.run will handle the passing of a
- Hash or URLMap rather than a standard rack app. The mapping provided by the
- passed object will be used to register uris with the mongrel instance.
-
- Hashes should only have absolute paths for keys and apps for values.
-
- URLMaps will be filtered if the :Host options is specified, or the mapping's
- host is set.
-
-Tue Mar 11 06:31:00 2008 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * Addition of #add, #<<, and #include? to Cascade, allowing iterative addition of apps
-
-Mon Mar 10 15:18:00 2008 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * Changed urlmap.rb's uri check to successive conditionals rather than one big one
-
-Tue Feb 26 12:28:00 2008 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Update README and docs
-
-Sun Feb 24 19:37:00 2008 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Don't use autoloads in the test suite
-
-Sun Feb 24 18:48:00 2008 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Fix test cases that used 201 as a status where Content-Type is not allowed
-
-Sun Feb 24 18:46:00 2008 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Fix cookie parsing
-
-Sun Feb 24 17:51:00 2008 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Let Rack::Builder#use accept blocks
-
- Contributed by Corey Jewett.
-
-Mon Feb 18 21:18:00 2008 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Don't create invalid header lines when only deleting a cookie
-
- Reported by Andreas Zehnder
-
-Sun Feb 3 17:14:00 2008 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Update lint to not check for 201 status headers
-
-Sun Feb 3 17:00:00 2008 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * HTTP status 201 can contain a body
-
-Fri Jan 25 08:36:00 2008 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add SCGI handler, by Jeremy Evans
-
-Tue Jan 22 04:23:00 2008 +0000 m.fellinger <chneukirchen@gmail.com>
- * Fix syntax for toggle() in ShowExceptions
-
-Mon Jan 21 02:27:00 2008 +0000 Aman Gupta <aman@ramaze.net>
- * Conform to RFC 2109 regarding multiple values for same cookie
-
-Thu Jan 10 15:29:00 2008 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Remove Rack::Adapter::Rails autoload
-
-Mon Dec 31 18:34:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Remove uses of base64 for Ruby 1.9 support
-
-Sun Dec 9 16:48:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Make Rack::Lint actually check what the spec says.
-
-Sun Nov 18 20:09:00 2007 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * lib/rack/auth/openid.rb - typo!
-
-Sun Nov 18 20:03:00 2007 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * lib/rack/auth/openid.rb - updates to reflect rack styling
-
-Sun Nov 18 19:54:00 2007 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * lib/rack/auth/openid.rb - removal of block functionality
-
- The block argumentn functionality was causing a few complications and
- was removed in favour of storing the openid status object in the
- environment. A wrapping proc oor rack app can now achieve the same
- functionality as the block could, in a cleaner manner.
-
-Sun Nov 18 19:51:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Small fix for the new FastCGI options
-
-Sun Nov 18 19:16:00 2007 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * lib/rack/urlmap.rb - Restyle of host matching from 'and' and 'or' to && and ||
-
-Tue Aug 28 23:02:00 2007 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * Reformat and representation of mapping selection routine.
-
-Sun Nov 18 19:20:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Minor tweaks in blink's code
-
-Sun Nov 18 18:45:00 2007 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * lib/rack/auth/openid.rb - removal of rubygems require
-
-Sun Nov 18 07:46:00 2007 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * lib/rack.rb - Addition of Auth::OpenID
-
-Sun Nov 18 07:45:00 2007 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * lib/rack.rb - Addition of new Session::Pool and Memcache
-
-Sun Nov 18 05:08:00 2007 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * session/pool.rb - Updated to use Rack::Utils::Context
-
-Sun Nov 18 04:57:00 2007 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * Inclusion of the openid result for the post-run block
-
-Sun Nov 18 04:54:00 2007 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * Addition of post-run block for extensibility
-
-Sun Nov 18 04:53:00 2007 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * Addition of request to provide a default return url
-
-Sun Nov 18 04:50:00 2007 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * Cleanup of code, errant error call
-
-Sun Nov 18 04:45:00 2007 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * Addition of Rack::Utils::Context
-
- Allows the use of a rack app in different contexts using a proc.
-
-Sun Nov 18 04:42:00 2007 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * Errors now method calls rather than constants.
-
-Thu Aug 30 13:30:00 2007 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * addition of js -> text/javascript to file types
-
-Thu Aug 30 13:28:00 2007 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * addition of Last-Modified http header to Rack::File
-
-Tue Aug 28 23:14:00 2007 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * Addition of credits, #for to allow app context change, and addition of a #key accessor
-
-Wed Aug 22 04:17:00 2007 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * lib/rack/handler/fastcgi.rb - :Port and :File options for opening sockets
-
-Fri Aug 17 07:09:00 2007 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * lib/rack/auth/openid.rb: openid login authenticator
-
-Thu Nov 15 16:21:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Fix SCRIPT_NAME in nested URLMaps
-
-Thu Nov 15 16:20:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Update AUTHORS and thanks
-
-Thu Nov 15 16:11:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Fix warning
-
-Thu Nov 15 16:10:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Make Rack::Builder#to_app nondestructive
-
-Tue Oct 9 14:35:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Fix Cookie dates accordingly to RFC 2109
-
-Wed Sep 12 09:15:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Mention PUT as allowed request method in the spec
-
-Sat Aug 11 17:28:00 2007 +0000 Scytrin dai Kinthra <scytrin@gmail.com>
- * pool.rb - local session storage hash pool w/ tests
-
-Thu Jul 12 09:02:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add LiteSpeed handler
-
- Courtesy of Adrian Madrid <aemadrid@gmail.com>
-
-Thu Jun 14 20:34:00 2007 +0000 Christoffer Sawicki <christoffer.sawicki@gmail.com>
- * Make Rack::File serve files with URL encoded filenames
-
-Thu May 31 16:36:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Make Rack::Response possibly close the body
-
- Proposed by Jonathan Buch
-
-Thu May 17 12:06:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Better running of lighttpd for testing
-
-Wed May 16 17:34:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Credit Luc Heinrich
-
-Wed May 16 15:01:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Different approach to Mongrel#run testing
-
-Wed May 16 14:53:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Fix trailing whitespace. Sigh.
-
-Wed May 16 14:44:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Update README
-
-Wed May 16 14:43:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Yield the servers optionally
-
-Wed May 16 14:32:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Small docfixes
-
-Tue May 15 23:44:00 2007 +0000 Michael Fellinger <m.fellinger@gmail.com>
- * replace the 'system' calls in Rakefile with 'sh', making them more transparent and --trace able
-
-Tue May 15 23:42:00 2007 +0000 Michael Fellinger <m.fellinger@gmail.com>
- * add some features to Request and the corresponding tests for them
-
-Tue May 15 15:43:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Make Rack::Handler::*.run yield the server for further configuration
-
-Fri May 11 15:31:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Remove the Rails adapter, it was never useful
-
-Fri May 11 15:12:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Introduce Rack::Response::Helpers and make MockResponse use them, too.
-
-Fri May 11 14:56:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add some more edge-case tests to improve coverage
-
-Sun Apr 29 12:55:00 2007 +0000 Christoffer Sawicki <christoffer.sawicki@gmail.com>
- * Add missing autoload for Cascade in rack.rb
-
-Thu Apr 26 14:05:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Make ShowStatus more robust
-
-Wed Apr 18 13:15:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add Rack::Response#empty?
-
-Tue Apr 3 20:59:00 2007 +0000 Tim Fletcher <twoggle@gmail.com>
- * Minor tweaks
-
-Tue Apr 3 20:58:00 2007 +0000 Tim Fletcher <twoggle@gmail.com>
- * Some initial documentation for the main authentication classes
-
-Tue Apr 3 20:56:00 2007 +0000 Tim Fletcher <twoggle@gmail.com>
- * An example of how to use Rack::Auth::Basic. Protect your lobsters!
-
-Tue Apr 3 20:17:00 2007 +0000 Tim Fletcher <twoggle@gmail.com>
- * Make Rack::Auth handlers compatible with Rack::ShowStatus
-
-Tue Apr 3 20:09:00 2007 +0000 Tim Fletcher <twoggle@gmail.com>
- * Ensure Rack::ShowStatus passes on headers
-
-Fri Mar 30 13:12:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add Request#fullpath
-
-Thu Mar 29 14:24:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add Rack::ShowStatus, a filter to generate common error messages
-
-Thu Mar 29 14:20:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add a list of HTTP status messages
-
-Tue Mar 27 09:06:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Small cleanup
-
-Mon Mar 26 21:27:00 2007 +0000 Tim Fletcher <twoggle@gmail.com>
- * Adding Rack::Auth::Digest::MD5, and refactoring Auth::Basic accordingly
-
-Sat Mar 24 14:36:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Doc fix, Request should have been Reponse
-
- Thanks, apeiros
-
-Mon Mar 12 16:45:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add a test for the broken cookie sessions
-
-Mon Mar 12 16:04:00 2007 +0000 luc <chneukirchen@gmail.com>
- * Make sure we get a valid empty session hash in all cases.
-
-Sun Mar 11 14:06:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Integrate Rack::Static
-
-Sun Mar 11 14:04:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Ducktype on #to_str for Rack::Response.new
-
- proposed by Gary Wright
-
-Sun Mar 11 13:43:00 2007 +0000 luc <chneukirchen@gmail.com>
- * Added Rack::Static middleware.
-
-Sun Mar 11 13:50:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Make Rack::Response#write call #to_s
-
- proposed by Gary Wright
-
-Sat Mar 10 14:38:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Fix Rack::Session::Cookie
-
-Fri Mar 9 23:40:00 2007 +0000 luc <chneukirchen@gmail.com>
- * Cookie based session management middleware.
-
-Tue Mar 6 21:12:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Load pp when debugging
-
-Tue Mar 6 12:19:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Integrate patches
-
-Sun Mar 4 15:12:00 2007 +0000 Tim Fletcher <twoggle@gmail.com>
- * Adding Rack::Auth::Basic
-
-Sun Mar 4 02:29:00 2007 +0000 Aredridel <aredridel@nbtsc.org>
- * Fix Camping redirects into Strings when they're URIs
-
-Sat Mar 3 17:20:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Fix things that should have been fixed before the release *sigh*
-
-Sat Mar 3 12:40:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Fix CGI permissions
-
-Sat Mar 3 12:34:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Last-minute details
-
-Sat Mar 3 11:15:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Extend gemspec
-
-Sat Mar 3 10:37:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Small README fixes
-
-Sat Mar 3 10:16:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add README and other documentation
-
-Sat Mar 3 09:58:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add and integrate Rakefile
-
-Sat Mar 3 09:56:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add some missing tests
-
-Fri Mar 2 23:53:00 2007 +0000 Christoffer Sawicki <christoffer.sawicki@gmail.com>
- * Tidy up RailsDispatcher::CGIStub
-
-Fri Mar 2 16:55:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Handle SCRIPT_NAME better in *CGI environments
-
-Fri Mar 2 15:10:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Remove lighttpd comment.
-
- The bug has been fixed in later versions.
-
-Thu Mar 1 18:53:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add RDocs
-
-Wed Feb 28 22:19:00 2007 +0000 Christoffer Sawicki <christoffer.sawicki@gmail.com>
- * Make Adapter::Rails use Cascade
-
-Wed Feb 28 20:06:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Fix warnings
-
-Wed Feb 28 20:03:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add Rack::Cascade, to pass on the first non 404 result
-
-Wed Feb 28 19:12:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Move TestRequest to test/
-
-Wed Feb 28 19:09:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Make spec_rack_lint.rb use mocks
-
-Wed Feb 28 18:56:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Make spec_rack_camping.rb use mocks
-
-Wed Feb 28 18:55:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Make spec_rack_urlmap.rb use mocks
-
-Wed Feb 28 18:30:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Make spec_rack_showexceptions.rb use mocks
-
-Wed Feb 28 18:26:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Make spec_rack_request.rb use mocks
-
-Wed Feb 28 18:25:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Don't clash constants in specifications
-
-Wed Feb 28 18:21:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * MockRequest can now only create the Rack environment
-
-Wed Feb 28 18:13:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Make spec_rack_recursive.rb use mocks
-
-Wed Feb 28 17:50:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add a default SCRIPT_NAME
-
-Wed Feb 28 17:44:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Make spec_rack_file.rb use mocks
-
-Wed Feb 28 17:40:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Make spec_rack_commonlogger.rb use mocks
-
-Wed Feb 28 17:35:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add support for mocking all request methods
-
-Wed Feb 28 17:29:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add MockRequest/MockResponse for easier testing
-
-Wed Feb 28 13:45:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Remove the port number of HTTP_HOST and SERVER_NAME
-
-Wed Feb 28 13:33:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Make multipart reading more robust
-
-Wed Feb 28 12:56:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Make Rack::Request read multipart form data
-
-Wed Feb 28 12:56:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Allow rack.input.read(integer), needed for safe multipart parsing
-
-Mon Feb 26 18:45:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add CGI and FastCGI support for rackup
-
-Mon Feb 26 18:42:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Make *CGI#run really like the others
-
-Mon Feb 26 18:10:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Adapt Rack::Handler::CGI API
-
-Mon Feb 26 17:59:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add a FastCGI handler
-
-Sun Feb 25 21:14:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Make Rack::Response#write return the written string to catch errors with nested writes
-
-Sun Feb 25 15:49:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add Rack::Reloader, a code autoreloader
-
-Sun Feb 25 13:46:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Ensure the Response body is writable
-
-Sun Feb 25 13:40:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Improve the Rack::Response constructor
-
- based on a patch from mitsuhiko.
-
-Sun Feb 25 12:24:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add the official logo
-
-Sat Feb 24 18:03:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add rackup, an experimental standalone Rack app starter
-
-Sat Feb 24 18:02:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add Rack::Builder, a DSL for connecting Rack apps
-
-Sat Feb 24 18:01:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Really fix URLMap
-
-Thu Feb 22 20:35:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Lint fix
-
-Thu Feb 22 20:34:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Route root app correctly in URLMap
-
-Thu Feb 22 11:10:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add tests for Request#query_string
-
-Wed Feb 21 22:25:00 2007 +0000 Christoffer Sawicki <christoffer.sawicki@gmail.com>
- * Add getter method for the query string (and use it internally)
-
-Wed Feb 21 17:29:00 2007 +0000 Christoffer Sawicki <christoffer.sawicki@gmail.com>
- * Extended CGIStub to handle Rails' session cookie
-
-Wed Feb 21 19:23:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add a first draft of the specification to Rack::Lint
-
-Wed Feb 21 18:49:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Ensure the body is closed
-
-Wed Feb 21 17:46:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add AUTHORS
-
-Wed Feb 21 16:49:00 2007 +0000 Christoffer Sawicki <christoffer.sawicki@gmail.com>
- * Basic Rails handler for Rack
-
-Wed Feb 21 17:03:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add Request#url
-
-Wed Feb 21 16:41:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Fix extension->MIME mapping
-
-Wed Feb 21 15:13:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add Rack::Recursive and ForwardRequest
-
-Wed Feb 21 15:11:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * URLMap should only look at PATH_INFO
-
-Tue Feb 20 18:15:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Call body#close if possible
-
-Mon Feb 19 12:19:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Small exception handler tweak
-
-Mon Feb 19 11:22:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Return empty hash on lack of cookies
-
-Mon Feb 19 11:22:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Fix host dispatching with explicit ports
-
-Mon Feb 19 10:23:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Cache the parsed things in Rack::Request
-
-Sun Feb 18 23:23:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Rename Request#method to #request_method to not confuse stdlibs
-
-Sun Feb 18 23:02:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add Camping adapter autoload
-
-Sun Feb 18 22:52:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Put Rack under the MIT license
-
-Sun Feb 18 18:07:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add Rack::CommonLogger, a Common Log Format request logger
-
-Sun Feb 18 17:52:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Make Response#status and #body settable
-
-Sun Feb 18 10:50:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * More convenience for Rack::Request
-
-Sat Feb 17 13:49:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Remove trailing whitespace *sigh*
-
-Sat Feb 17 13:46:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add Rack::URLMap, a simple router
-
-Sat Feb 17 13:04:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Remove Python leftover
-
-Sat Feb 17 12:57:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add a Camping adapter
-
-Sat Feb 17 12:57:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Don't define path_info twice
-
-Sat Feb 17 12:56:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add Rack::ShowExceptions
-
-Sat Feb 17 12:55:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Remove stray paths
-
-Fri Feb 16 16:54:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add lobster version with Request/Response
-
-Fri Feb 16 16:53:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Make Rack::Response#write syncronous
-
-Fri Feb 16 16:42:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add more Rack::Utils specs
-
-Fri Feb 16 16:34:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add Rack::Response and Rack::Utils
-
-Fri Feb 16 15:32:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add Rack::Request
-
-Fri Feb 16 15:30:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add Rack::File, a static file server
-
-Fri Feb 16 14:51:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Move testing helpers to TestRequest
-
-Fri Feb 16 13:40:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add a lobster
-
-Fri Feb 16 13:39:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add rack.rb with autoloads for convenience
-
-Fri Feb 16 13:33:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add quick run methods for WEBrick and Mongrel
-
-Fri Feb 16 13:27:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Fix lint to allow empty SCRIPT_NAME and PATH_INFO
-
-Fri Feb 16 13:01:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add Lint to the tests
-
-Fri Feb 16 12:49:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Add Rack::Lint
-
-Thu Feb 15 18:05:00 2007 +0000 Christian Neukirchen <chneukirchen@gmail.com>
- * Initial import of Rack
-
View
230 RDOX
@@ -1,230 +0,0 @@
-
-== Rack::Auth::Basic
-* should challenge correctly when no credentials are specified
-* should rechallenge if incorrect credentials are specified
-* should return application output if correct credentials are specified
-* should return 400 Bad Request if different auth scheme used
-
-== Rack::Auth::Digest::MD5
-* should challenge when no credentials are specified
-* should return application output if correct credentials given
-* should return application output if correct credentials given (hashed passwords)
-* should rechallenge if incorrect username given
-* should rechallenge if incorrect password given
-* should rechallenge with stale parameter if nonce is stale
-* should return 400 Bad Request if incorrect qop given
-* should return 400 Bad Request if incorrect uri given
-* should return 400 Bad Request if different auth scheme used
-
-== Rack::Builder
-* chains apps by default
-* has implicit #to_app
-* supports blocks on use
-
-== Rack::Adapter::Camping
-* works with GET
-* works with POST
-
-== Rack::Cascade
-* should dispatch onward on 404 by default
-* should dispatch onward on whatever is passed
-* should fail if empty
-* should append new app
-
-== Rack::Handler::CGI
-* startup (empty)
-* should respond
-* should be a lighttpd
-* should have rack headers
-* should have CGI headers on GET
-* should have CGI headers on POST
-* should support HTTP auth
-* should set status
-* shutdown
-
-== Rack::CommonLogger
-* should log to rack.errors by default
-* should log to anything with <<
-
-== Rack::Handler::FastCGI
-* startup (empty)
-* should respond
-* should be a lighttpd
-* should have rack headers
-* should have CGI headers on GET
-* should have CGI headers on POST
-* should support HTTP auth
-* should set status
-* shutdown
-
-== Rack::File
-* serves files
-* serves files with URL encoded filenames
-* does not allow directory traversal
-* 404s if it can't find the file
-
-== Rack::Handler
-* has registered default handlers
-* should get unregisted hanlder by name
-* should register custom handler
-
-== Rack::Lint
-* passes valid request
-* notices fatal errors
-* notices environment errors
-* notices input errors
-* notices error errors
-* notices status errors
-* notices header errors
-* notices content-type errors
-* notices body errors
-* notices input handling errors
-* notices error handling errors
-
-== Rack::Lobster::LambdaLobster
-* should be a single lambda
-* should look like a lobster
-* should be flippable
-
-== Rack::Lobster
-* should look like a lobster
-* should be flippable
-* should provide crashing for testing purposes
-
-== Rack::MockRequest
-* should return a MockResponse
-* should be able to only return the environment
-* should provide sensible defaults
-* should allow GET/POST/PUT/DELETE
-* should allow posting
-* should use all parts of an URL
-* should behave valid according to the Rack spec
-
-== Rack::MockResponse
-* should provide access to the HTTP status
-* should provide access to the HTTP headers
-* should provide access to the HTTP body
-* should provide access to the Rack errors
-* should optionally make Rack errors fatal
-
-== Rack::Handler::Mongrel
-* should respond
-* should be a Mongrel
-* should have rack headers
-* should have CGI headers on GET
-* should have CGI headers on POST
-* should support HTTP auth
-* should set status
-* should provide a .run
-* should provide a .run that maps a hash
-* should provide a .run that maps a urlmap
-* should provide a .run that maps a urlmap restricting by host
-
-== Rack::Recursive
-* should allow for subrequests
-* should raise error on requests not below the app
-* should support forwarding
-
-== Rack::Request
-* wraps the rack variables
-* can figure out the correct host
-* can parse the query string
-* can parse POST data
-* can parse POST data with explicit content type
-* does not parse POST data when media type is not form-data
-* can get value by key from params with #[]
-* can set value to key on params with #[]=
-* values_at answers values by keys in order given
-* referrer should be extracted correct
-* can cache, but invalidates the cache
-* can figure out if called via XHR
-* can parse cookies
-* parses cookies according to RFC 2109
-* provides setters
-* provides the original env
-* can restore the URL
-* can restore the full path
-* can handle multiple media type parameters
-* can parse multipart form data
-* can parse big multipart form data
-* can detect invalid multipart form data
-* should work around buggy 1.8.* Tempfile equality
-* does conform to the Rack spec
-
-== Rack::Response
-* has sensible default values
-* can be written to
-* can set and read headers
-* can set cookies
-* formats the Cookie expiration date accordingly to RFC 2109
-* can delete cookies
-* has a useful constructor
-* has a constructor that can take a block
-* doesn't return invalid responses
-* knows if it's empty
-* should provide access to the HTTP status
-* should provide access to the HTTP headers
-
-== Rack::Session::Cookie
-* creates a new cookie
-* loads from a cookie
-* survives broken cookies
-* barks on too big cookies
-
-== Rack::Session::Memcache
-* creates a new cookie
-* determines session from a cookie
-* survives broken cookies
-* maintains freshness
-* multithread: should cleanly merge sessions
-
-== Rack::Session::Pool
-* creates a new cookie
-* determines session from a cookie
-* survives broken cookies
-* maintains freshness
-* multithread: should merge sessions
-
-== Rack::ShowExceptions
-* catches exceptions
-
-== Rack::ShowStatus
-* should provide a default status message
-* should let the app provide additional information
-* should not replace existing messages
-* should pass on original headers
-* should replace existing messages if there is detail
-
-== Rack::Static
-* serves files
-* 404s if url root is known but it can't find the file
-* calls down the chain if url root is not known
-
-== Rack::URLMap
-* dispatches paths correctly
-* dispatches hosts correctly
-* should be nestable
-* should route root apps correctly
-
-== Rack::Utils
-* should escape correctly
-* should unescape correctly
-* should parse queries correctly
-* should create queries correctly
-
-== Rack::Utils::HeaderHash
-* should capitalize on all accesses
-* should capitalize correctly
-* should be converted to real Hash
-
-== Rack::Handler::WEBrick
-* should respond
-* should be a WEBrick
-* should have rack headers
-* should have CGI headers on GET
-* should have CGI headers on POST
-* should support HTTP auth
-* should set status
-* should provide a .run
-
-170 specifications, 2 empty (737 requirements), 0 failures
View
132 SPEC
@@ -1,132 +0,0 @@
-This specification aims to formalize the Rack protocol. You
-can (and should) use Rack::Lint to enforce it.
-When you develop middleware, be sure to add a Lint before and
-after to catch all mistakes.
-= Rack applications
-A Rack application is an Ruby object (not a class) that
-responds to +call+.
-It takes exactly one argument, the *environment*
-and returns an Array of exactly three values:
-The *status*,
-the *headers*,
-and the *body*.
-== The Environment
-The environment must be an true instance of Hash (no
-subclassing allowed) that includes CGI-like headers.
-The application is free to modify the environment.
-
-The environment is required to include these variables
-(adopted from PEP333), except when they'd be empty, but see
-below.
-<tt>REQUEST_METHOD</tt>:: The HTTP request method, such as
- "GET" or "POST". This cannot ever
- be an empty string, and so is
- always required.
-<tt>SCRIPT_NAME</tt>:: The initial portion of the request
- URL's "path" that corresponds to the
- application object, so that the
- application knows its virtual
- "location". This may be an empty
- string, if the application corresponds
- to the "root" of the server.
-<tt>PATH_INFO</tt>:: The remainder of the request URL's
- "path", designating the virtual
- "location" of the request's target
- within the application. This may be an
- empty string, if the request URL targets
- the application root and does not have a
- trailing slash.
-<tt>QUERY_STRING</tt>:: The portion of the request URL that
- follows the <tt>?</tt>, if any. May be
- empty, but is always required!
-<tt>SERVER_NAME</tt>, <tt>SERVER_PORT</tt>:: When combined with <tt>SCRIPT_NAME</tt> and <tt>PATH_INFO</tt>, these variables can be used to complete the URL. Note, however, that <tt>HTTP_HOST</tt>, if present, should be used in preference to <tt>SERVER_NAME</tt> for reconstructing the request URL. <tt>SERVER_NAME</tt> and <tt>SERVER_PORT</tt> can never be empty strings, and so are always required.
-<tt>HTTP_</tt> Variables:: Variables corresponding to the
- client-supplied HTTP request
- headers (i.e., variables whose
- names begin with <tt>HTTP_</tt>). The
- presence or absence of these
- variables should correspond with
- the presence or absence of the
- appropriate HTTP header in the
- request.
-In addition to this, the Rack environment must include these
-Rack-specific variables:
-<tt>rack.version</tt>:: The Array [0,1], representing this version of Rack.
-<tt>rack.url_scheme</tt>:: +http+ or +https+, depending on the request URL.
-<tt>rack.input</tt>:: See below, the input stream.
-<tt>rack.errors</tt>:: See below, the error stream.
-<tt>rack.multithread</tt>:: true if the application object may be simultaneously invoked by another thread in the same process, false otherwise.
-<tt>rack.multiprocess</tt>:: true if an equivalent application object may be simultaneously invoked by another process, false otherwise.
-<tt>rack.run_once</tt>:: true if the server expects (but does not guarantee!) that the application will only be invoked this one time during the life of its containing process. Normally, this will only be true for a server based on CGI (or something similar).
-The server or the application can store their own data in the
-environment, too. The keys must contain at least one dot,
-and should be prefixed uniquely. The prefix <tt>rack.</tt>
-is reserved for use with the Rack core distribution and must
-not be used otherwise.
-
-The environment must not contain the keys
-<tt>HTTP_CONTENT_TYPE</tt> or <tt>HTTP_CONTENT_LENGTH</tt>
-(use the versions without <tt>HTTP_</tt>).
-The CGI keys (named without a period) must have String values.
-
-There are the following restrictions:
-* <tt>rack.version</tt> must be an array of Integers.
-* <tt>rack.url_scheme</tt> must either be +http+ or +https+.
-* There must be a valid input stream in <tt>rack.input</tt>.
-* There must be a valid error stream in <tt>rack.errors</tt>.
-* The <tt>REQUEST_METHOD</tt> must be one of +GET+, +POST+, +PUT+,
- +DELETE+, +HEAD+, +OPTIONS+, +TRACE+.
-* The <tt>SCRIPT_NAME</tt>, if non-empty, must start with <tt>/</tt>
-* The <tt>PATH_INFO</tt>, if non-empty, must start with <tt>/</tt>
-* The <tt>CONTENT_LENGTH</tt>, if given, must consist of digits only.
-* One of <tt>SCRIPT_NAME</tt> or <tt>PATH_INFO</tt> must be
- set. <tt>PATH_INFO</tt> should be <tt>/</tt> if
- <tt>SCRIPT_NAME</tt> is empty.
- <tt>SCRIPT_NAME</tt> never should be <tt>/</tt>, but instead be empty.
-=== The Input Stream
-The input stream must respond to +gets+, +each+ and +read+.
-* +gets+ must be called without arguments and return a string,
- or +nil+ on EOF.
-* +read+ must be called without or with one integer argument
- and return a string, or +nil+ on EOF.
-* +each+ must be called without arguments and only yield Strings.
-* +close+ must never be called on the input stream.
-=== The Error Stream
-The error stream must respond to +puts+, +write+ and +flush+.
-* +puts+ must be called with a single argument that responds to +to_s+.
-* +write+ must be called with a single argument that is a String.
-* +flush+ must be called without arguments and must be called
- in order to make the error appear for sure.
-* +close+ must never be called on the error stream.
-== The Response
-=== The Status
-The status, if parsed as integer (+to_i+), must be bigger than 100.
-=== The Headers
-The header must respond to each, and yield values of key and value.
-The header keys must be Strings.
-The header must not contain a +Status+ key,
-contain keys with <tt>:</tt> or newlines in their name,
-contain keys names that end in <tt>-</tt> or <tt>_</tt>,
-but only contain keys that consist of
-letters, digits, <tt>_</tt> or <tt>-</tt> and start with a letter.
-
-The values of the header must respond to #each.
-The values passed on #each must be Strings
-and not contain characters below 037.
-=== The Content-Type
-There must be a <tt>Content-Type</tt>, except when the
-+Status+ is 204 or 304, in which case there must be none
-given.
-=== The Body
-The Body must respond to #each
-and must only yield String values.
-
-If the Body responds to #close, it will be called after iteration.
-
-The Body commonly is an Array of Strings, the application
-instance itself, or a File-like object.
-== Thanks
-Some parts of this specification are adopted from PEP333: Python
-Web Server Gateway Interface
-v1.0 (http://www.python.org/dev/peps/pep-0333/). I'd like to thank
-everyone involved in that effort.
View
390 doc/classes/Rack.html
@@ -1,390 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!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=utf-8" />
- <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_rb.html">
- lib/rack.rb
- </a>
- <br />
- <a href="../files/lib/rack/builder_rb.html">
- lib/rack/builder.rb
- </a>
- <br />
- <a href="../files/lib/rack/cascade_rb.html">
- lib/rack/cascade.rb
- </a>
- <br />
- <a href="../files/lib/rack/commonlogger_rb.html">
- lib/rack/commonlogger.rb
- </a>
- <br />
- <a href="../files/lib/rack/file_rb.html">
- lib/rack/file.rb
- </a>
- <br />
- <a href="../files/lib/rack/handler_rb.html">
- lib/rack/handler.rb
- </a>
- <br />
- <a href="../files/lib/rack/lint_rb.html">
- lib/rack/lint.rb
- </a>
- <br />
- <a href="../files/lib/rack/lobster_rb.html">
- lib/rack/lobster.rb
- </a>
- <br />
- <a href="../files/lib/rack/mock_rb.html">
- lib/rack/mock.rb
- </a>
- <br />
- <a href="../files/lib/rack/recursive_rb.html">
- lib/rack/recursive.rb
- </a>
- <br />
- <a href="../files/lib/rack/reloader_rb.html">
- lib/rack/reloader.rb
- </a>
- <br />
- <a href="../files/lib/rack/request_rb.html">
- lib/rack/request.rb
- </a>
- <br />
- <a href="../files/lib/rack/response_rb.html">
- lib/rack/response.rb
- </a>
- <br />
- <a href="../files/lib/rack/showexceptions_rb.html">
- lib/rack/showexceptions.rb
- </a>
- <br />
- <a href="../files/lib/rack/showstatus_rb.html">
- lib/rack/showstatus.rb
- </a>
- <br />
- <a href="../files/lib/rack/static_rb.html">
- lib/rack/static.rb
- </a>
- <br />
- <a href="../files/lib/rack/urlmap_rb.html">
- lib/rack/urlmap.rb
- </a>
- <br />
- <a href="../files/lib/rack/utils_rb.html">
- lib/rack/utils.rb
- </a>
- <br />
- <a href="../files/lib/rack/adapter/camping_rb.html">
- lib/rack/adapter/camping.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/openid_rb.html">
- lib/rack/auth/openid.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/evented_mongrel_rb.html">
- lib/rack/handler/evented_mongrel.rb
- </a>
- <br />
- <a href="../files/lib/rack/handler/fastcgi_rb.html">
- lib/rack/handler/fastcgi.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/mongrel_rb.html">
- lib/rack/handler/mongrel.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/webrick_rb.html">
- lib/rack/handler/webrick.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/pool_rb.html">
- lib/rack/session/pool.rb
- </a>
- <br />
- </td>
- </tr>
-
- </table>
- </div>
- <!-- banner header -->
-
- <div id="bodyContent">
-
-
-
- <div id="contextContent">
-
- <div id="description">
- <p>
-require &#8216;cgi&#8216;
-</p>
-
- </div>
-
-
- </div>
-
- <div id="method-list">
- <h3 class="section-bar">Methods</h3>
-
- <div class="name-list">
- <a href="#M000003">call</a>&nbsp;&nbsp;
- <a href="#M000002">release</a>&nbsp;&nbsp;
- <a href="#M000001">version</a>&nbsp;&nbsp;
- </div>
- </div>
-
- </div>
-
-
- <!-- if includes -->
-
- <div id="section">
-
- <div id="class-list">
- <h3 class="section-bar">Classes and Modules</h3>
-
- Module <a href="Rack/Adapter.html" class="link">Rack::Adapter</a><br />
-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/Session.html" class="link">Rack::Session</a><br />
-Module <a href="Rack/Utils.html" class="link">Rack::Utils</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/CommonLogger.html" class="link">Rack::CommonLogger</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/Lint.html" class="link">Rack::Lint</a><br />
-Class <a href="Rack/Lobster.html" class="link">Rack::Lobster</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/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/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/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">[0,1]</td>
- <td width="3em">&nbsp;</td>
- <td class="context-item-desc">
-The <a href="Rack.html">Rack</a> protocol <a
-href="Rack.html#M000001">version</a> number implemented.
-
-</td>
- </tr>
- </table>
- </div>
- </div>
-
-
-
-
-
-
- <!-- if method_list -->
- <div id="methods">
- <h3 class="section-bar">Public Class methods</h3>
-
- <div id="method-M000002" class="method-detail">
- <a name="M000002"></a>
-
- <div class="method-heading">
- <a href="#M000002" class="method-signature">
- <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#M000002">release</a> as a dotted string.
-</p>
- <p><a class="source-toggle" href="#"
- onclick="toggleCode('M000002-source');return false;">[Source]</a></p>
- <div class="method-source-code" id="M000002-source">
-<pre>
- <span class="ruby-comment cmt"># File lib/rack.rb, line 25</span>
-25: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">release</span>
-26: <span class="ruby-value str">&quot;0.3&quot;</span>
-27: <span class="ruby-keyword kw">end</span>
-</pre>
- </div>
- </div>
- </div>
-
- <div id="method-M000001" class="method-detail">
- <a name="M000001"></a>
-
- <div class="method-heading">
- <a href="#M000001" class="method-signature">
- <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#M000001">version</a> as a dotted string.
-</p>
- <p><a class="source-toggle" href="#"
- onclick="toggleCode('M000001-source');return false;">[Source]</a></p>
- <div class="method-source-code" id="M000001-source">
-<pre>
- <span class="ruby-comment cmt"># File lib/rack.rb, line 20</span>
-20: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">version</span>
-21: <span class="ruby-constant">VERSION</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;.&quot;</span>)
-22: <span class="ruby-keyword kw">end</span>
-</pre>
- </div>
- </div>
- </div>
-
- <h3 class="section-bar">Public Instance methods</h3>
-
- <div id="method-M000003" class="method-detail">
- <a name="M000003"></a>
-
- <div class="method-heading">
- <a href="#M000003" class="method-signature">
- <span class="method-name">call</span><span class="method-args">(env)</span>
- </a>
- </div>
-
- <div class="method-description">
- <p><a class="source-toggle" href="#"
- onclick="toggleCode('M000003-source');return false;">[Source]</a></p>
- <div class="method-source-code" id="M000003-source">
-<pre>
- <span class="ruby-comment cmt"># File lib/rack/lobster.rb, line 32</span>
-32: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">call</span>(<span class="ruby-identifier">env</span>)
-33: <span class="ruby-identifier">req</span> = <span class="ruby-constant">Request</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">env</span>)
-34: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">req</span>.<span class="ruby-constant">GET</span>[<span class="ruby-value str">&quot;flip&quot;</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;left&quot;</span>
-35: <span class="ruby-identifier">lobster</span> = <span class="ruby-constant">LobsterString</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">&quot;\n&quot;</span>).
-36: <span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span> <span class="ruby-identifier">line</span>.<span class="ruby-identifier">ljust</span>(<span class="ruby-value">42</span>).<span class="ruby-identifier">reverse</span> }.
-37: <span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;\n&quot;</span>)
-38: <span class="ruby-identifier">href</span> = <span class="ruby-value str">&quot;?flip=right&quot;</span>
-39: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">req</span>.<span class="ruby-constant">GET</span>[<span class="ruby-value str">&quot;flip&quot;</span>] <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;crash&quot;</span>
-40: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Lobster crashed&quot;</span>
-41: <span class="ruby-keyword kw">else</span>
-42: <span class="ruby-identifier">lobster</span> = <span class="ruby-constant">LobsterString</span>
-43: <span class="ruby-identifier">href</span> = <span class="ruby-value str">&quot;?flip=left&quot;</span>
-44: <span class="ruby-keyword kw">end</span>
-45:
-46: <span class="ruby-constant">Response</span>.<span class="ruby-identifier">new</span>.<span class="ruby-identifier">finish</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">res</span><span class="ruby-operator">|</span>
-47: <span class="ruby-identifier">res</span>.<span class="ruby-identifier">write</span> <span class="ruby-value str">&quot;&lt;title&gt;Lobstericious!&lt;/title&gt;&quot;</span>
-48: <span class="ruby-identifier">res</span>.<span class="ruby-identifier">write</span> <span class="ruby-value str">&quot;&lt;pre&gt;&quot;</span>
-49: <span class="ruby-identifier">res</span>.<span class="ruby-identifier">write</span> <span class="ruby-identifier">lobster</span>
-50: <span class="ruby-identifier">res</span>.<span class="ruby-identifier">write</span> <span class="ruby-value str">&quot;&lt;/pre&gt;&quot;</span>
-51: <span class="ruby-identifier">res</span>.<span class="ruby-identifier">write</span> <span class="ruby-node">&quot;&lt;p&gt;&lt;a href='#{href}'&gt;flip!&lt;/a&gt;&lt;/p&gt;&quot;</span>
-52: <span class="ruby-identifier">res</span>.<span class="ruby-identifier">write</span> <span class="ruby-value str">&quot;&lt;p&gt;&lt;a href='?flip=crash'&gt;crash!&lt;/a&gt;&lt;/p&gt;&quot;</span>
-53: <span class="ruby-keyword kw">end</span>
-54: <span class="ruby-keyword kw">end</span>
-</pre>
- </div>
- </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>
View
130 doc/classes/Rack/Adapter.html
@@ -1,130 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!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::Adapter</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <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::Adapter</td>
- </tr>
- <tr class="top-aligned-row">
- <td><strong>In:</strong></td>
- <td>
- <a href="../../files/lib/rack_rb.html">
- lib/rack.rb
- </a>
- <br />
- <a href="../../files/lib/rack/adapter/camping_rb.html">
- lib/rack/adapter/camping.rb
- </a>
- <br />
- </td>
- </tr>
-
- </table>
- </div>
- <!-- banner header -->
-
- <div id="bodyContent">
-
-
-
- <div id="contextContent">
-
- <div id="description">
- <p>
-<b>Adapters</b> connect <a href="../Rack.html">Rack</a> with third party
-web frameworks.
-</p>
-<p>
-<a href="../Rack.html">Rack</a> includes an adapter for <a
-href="Adapter/Camping.html">Camping</a>, see README for other frameworks
-supporting <a href="../Rack.html">Rack</a> in their code bases.
-</p>
-<p>
-Refer to the submodules for framework-specific calling details.
-</p>
-
- </div>
-
-
- </div>
-
-
- </div>
-
-
- <!-- if includes -->
-
- <div id="section">
-
- <div id="class-list">
- <h3 class="section-bar">Classes and Modules</h3>
-
- Class <a href="Adapter/Camping.html" class="link">Rack::Adapter::Camping</a><br />
-
- </div>
-
-
-
-
-
-
-
- <!-- if method_list -->
-
-
- </div>
-
-
-<div id="validator-badges">
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
-</div>
-
-</body>
-</html>
View
181 doc/classes/Rack/Adapter/Camping.html
@@ -1,181 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!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: Rack::Adapter::Camping</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <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">Rack::Adapter::Camping</td>
- </tr>
- <tr class="top-aligned-row">
- <td><strong>In:</strong></td>
- <td>
- <a href="../../../files/lib/rack/adapter/camping_rb.html">
- lib/rack/adapter/camping.rb
- </a>
- <br />
- </td>
- </tr>
-
- <tr class="top-aligned-row">
- <td><strong>Parent:</strong></td>
- <td>
- Object
- </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="#M000005">call</a>&nbsp;&nbsp;
- <a href="#M000004">new</a>&nbsp;&nbsp;
- </div>
- </div>
-
- </div>
-
-
- <!-- if includes -->
-
- <div id="section">
-
-
-
-
-
-
-
-
- <!-- if method_list -->
- <div id="methods">
- <h3 class="section-bar">Public Class methods</h3>
-
- <div id="method-M000004" class="method-detail">
- <a name="M000004"></a>
-
- <div class="method-heading">
- <a href="#M000004" class="method-signature">
- <span class="method-name">new</span><span class="method-args">(app)</span>
- </a>
- </div>
-
- <div class="method-description">
- <p><a class="source-toggle" href="#"
- onclick="toggleCode('M000004-source');return false;">[Source]</a></p>
- <div class="method-source-code" id="M000004-source">
-<pre>
- <span class="ruby-comment cmt"># File lib/rack/adapter/camping.rb, line 4</span>
-4: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">app</span>)
-5: <span class="ruby-ivar">@app</span> = <span class="ruby-identifier">app</span>
-6: <span class="ruby-keyword kw">end</span>
-</pre>
- </div>
- </div>
- </div>
-
- <h3 class="section-bar">Public Instance methods</h3>
-
- <div id="method-M000005" class="method-detail">
- <a name="M000005"></a>
-
- <div class="method-heading">
- <a href="#M000005" class="method-signature">
- <span class="method-name">call</span><span class="method-args">(env)</span>
- </a>
- </div>
-
- <div class="method-description">
- <p><a class="source-toggle" href="#"
- onclick="toggleCode('M000005-source');return false;">[Source]</a></p>
- <div class="method-source-code" id="M000005-source">
-<pre>
- <span class="ruby-comment cmt"># File lib/rack/adapter/camping.rb, line 8</span>
- 8: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">call</span>(<span class="ruby-identifier">env</span>)
- 9: <span class="ruby-identifier">env</span>[<span class="ruby-value str">&quot;PATH_INFO&quot;</span>] <span class="ruby-operator">||=</span> <span class="ruby-value str">&quot;&quot;</span>
-10: <span class="ruby-identifier">env</span>[<span class="ruby-value str">&quot;SCRIPT_NAME&quot;</span>] <span class="ruby-operator">||=</span> <span class="ruby-value str">&quot;&quot;</span>
-11: <span class="ruby-identifier">controller</span> = <span class="ruby-ivar">@app</span>.<span class="ruby-identifier">run</span>(<span class="ruby-identifier">env</span>[<span class="ruby-value str">'rack.input'</span>], <span class="ruby-identifier">env</span>)
-12: <span class="ruby-identifier">h</span> = <span class="ruby-identifier">controller</span>.<span class="ruby-identifier">headers</span>
-13: <span class="ruby-identifier">h</span>.<span class="ruby-identifier">each_pair</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
-14: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">v</span>.<span class="ruby-identifier">kind_of?</span> <span class="ruby-constant">URI</span>
-15: <span class="ruby-identifier">h</span>[<span class="ruby-identifier">k</span>] = <span class="ruby-identifier">v</span>.<span class="ruby-identifier">to_s</span>
-16: <span class="ruby-keyword kw">end</span>
-17: <span class="ruby-keyword kw">end</span>
-18: [<span class="ruby-identifier">controller</span>.<span class="ruby-identifier">status</span>, <span class="ruby-identifier">controller</span>.<span class="ruby-identifier">headers</span>, <span class="ruby-identifier">controller</span>.<span class="ruby-identifier">body</span>]
-19: <span class="ruby-keyword kw">end</span>
-</pre>
- </div>
- </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>
View
121 doc/classes/Rack/Auth.html
@@ -1,121 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!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::Auth</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <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::Auth</td>
- </tr>
- <tr class="top-aligned-row">
- <td><strong>In:</strong></td>
- <td>
- <a href="../../files/lib/rack_rb.html">
- lib/rack.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/openid_rb.html">
- lib/rack/auth/openid.rb
- </a>
- <br />
- </td>
- </tr>
-
- </table>
- </div>
- <!-- banner header -->
-
- <div id="bodyContent">
-
-
-
- <div id="contextContent">
-
-
-
- </div>
-
-
- </div>
-
-
- <!-- if includes -->
-
- <div id="section">
-
- <div id="class-list">
- <h3 class="section-bar">Classes and Modules</h3>
-
- Module <a href="Auth/Digest.html" class="link">Rack::Auth::Digest</a><br />
-Class <a href="Auth/Basic.html" class="link">Rack::Auth::Basic</a><br />
-Class <a href="Auth/OpenID.html" class="link">Rack::Auth::OpenID</a><br />
-
- </div>
-
-
-
-
-
-
-
- <!-- if method_list -->
-
-
- </div>
-
-
-<div id="validator-badges">
- <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
-</div>
-
-</body>
-</html>
View
179 doc/classes/Rack/Auth/Basic.html
@@ -1,179 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!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: Rack::Auth::Basic</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <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">Rack::Auth::Basic</td>
- </tr>
- <tr class="top-aligned-row">
- <td><strong>In:</strong></td>
- <td>
- <a href="../../../files/lib/rack/auth/basic_rb.html">
- lib/rack/auth/basic.rb
- </a>
- <br />
- </td>
- </tr>
-
- <tr class="top-aligned-row">
- <td><strong>Parent:</strong></td>
- <td>
- AbstractHandler
- </td>
- </tr>
- </table>
- </div>
- <!-- banner header -->
-
- <div id="bodyContent">
-
-
-
- <div id="contextContent">
-
- <div id="description">
- <p>
-<a href="Basic.html">Rack::Auth::Basic</a> implements HTTP <a
-href="Basic.html">Basic</a> Authentication, as per RFC 2617.
-</p>
-<p>
-Initialize with the <a href="../../Rack.html">Rack</a> application that you
-want protecting, and a block that checks if a username and password pair
-are valid.
-</p>
-<p>
-See also: <tt>example/protectedlobster.rb</tt>
-</p>
-
- </div>
-
-
- </div>
-
- <div id="method-list">
- <h3 class="section-bar">Methods</h3>
-
- <div class="name-list">
- <a href="#M000010">call</a>&nbsp;&nbsp;
- </div>
- </div>
-
- </div>
-
-
- <!-- if includes -->
-
- <div id="section">
-
- <div id="class-list">
- <h3 class="section-bar">Classes and Modules</h3>
-
- Class <a href="Basic/Request.html" class="link">Rack::Auth::Basic::Request</a><br />
-
- </div>
-
-
-
-
-
-
-
- <!-- if method_list -->
- <div id="methods">
- <h3 class="section-bar">Public Instance methods</h3>
-
- <div id="method-M000010" class="method-detail">
- <a name="M000010"></a>
-
- <div class="method-heading">
- <a href="#M000010" class="method-signature">
- <span class="method-name">call</span><span class="method-args">(env)</span>
- </a>
- </div>
-
- <div class="method-description">
- <p><a class="source-toggle" href="#"
- onclick="toggleCode('M000010-source');return false;">[Source]</a></p>
- <div class="method-source-code" id="M000010-source">
-<pre>
- <span class="ruby-comment cmt"># File lib/rack/auth/basic.rb, line 15</span>
-15: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">call</span>(<span class="ruby-identifier">env</span>)
-16: <span class="ruby-identifier">auth</span> = <span class="ruby-constant">Basic</span><span class="ruby-operator">::</span><span class="ruby-constant">Request</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">env</span>)
-17:
-18: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">unauthorized</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">auth</span>.<span class="ruby-identifier">provided?</span>
-19:
-20: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">bad_request</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">auth</span>.<span class="ruby-identifier">basic?</span>
-21:
-22: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">valid?</span>(<span class="ruby-identifier">auth</span>)
-23: <span class="ruby-identifier">env</span>[<span class="ruby-value str">'REMOTE_USER'</span>] = <span class="ruby-identifier">auth</span>.<span class="ruby-identifier">username</span>
-24:
-25: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@app</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">env</span>)
-26: <span class="ruby-keyword kw">end</span>
-27:
-28: <span class="ruby-identifier">unauthorized</span>
-29: <span class="ruby-keyword kw">end</span>
-</pre>
- </div>
- </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>
View
194 doc/classes/Rack/Auth/Basic/Request.html
@@ -1,194 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!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: Rack::Auth::Basic::Request</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <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">Rack::Auth::Basic::Request</td>
- </tr>
- <tr class="top-aligned-row">
- <td><strong>In:</strong></td>