summary refs log tree commit
DateCommit message (Collapse)
2009-12-31make Rack::Session::Cookie spec immune to Marshal changes mri-1.9.2dev
Various versions/implementations of Ruby may Marshal data differently. Instead of relying on a fragile test that relies on exact byte sequence matches, just rely on existing round-trip tests for the cookies.
2009-12-26Revert "Add --chdir option to rackup"
This reverts commit b5a47e25cf65ad2d87cf9e20474ca372ed91c1b0
2009-12-26Add --chdir option to rackup
2009-12-26Use "config" instead of "rack_file"
2009-12-26Add shebang back to rackup
2009-12-26Note nosqueeze change
2009-12-26Merge remote branch 'origin/nosqueeze'
2009-12-26Add previous change to changelog
2009-12-26Tag not found responses from file servers with X-Cascade header
Prepares internal file servers for revised Rack::Cascade that looks for a magic header instead of discarding all 404 responses.
2009-12-26whoops, bad restoration
2009-12-26Restore old school tar release tools
2009-12-26Bump version and release to 1.1
2009-12-26update README, Sunshowers is not a web server
Sunshowers is a library that can enhance Rack::Request when used with Rainbows! but is not a server itself. Additionally, the official name for Rainbows! is "Rainbows!" with a bang. Signed-off-by: Christian Neukirchen <chneukirchen@gmail.com>
2009-12-25Update web server list in README
2009-12-25Update README
2009-12-24Modernize packaging and publishing tasks for gemcutter
2009-12-24ignore dist tmp files
2009-12-24Prepare release notes for 1.1
2009-12-23Test case for matching mutliple /'s in URLMap
2009-12-23URLMap matches multiple /'s but does not modify PATH_INFO
2009-12-22Don't munge PATH_INFO in URLMap
2009-12-22Failing testcase for URLMap squeeze issue
2009-12-22Use Content-Type to determine POST params parsing [#20]
Reverts the hard test for a 'PUT' request method (8d01dc0) and uses the Content-Type to determine whether to read into the request body. The Request#POST method parses the request body if (and only if) either of the following conditions are met: 1. The request's Content-Type is application/x-www-form-urlencoded or multipart/form-data. Note: the REQUEST_METHOD is ignored in this case. 2. The original REQUEST_METHOD is 'POST' and no Content-Type header was specified in the request. Note that we use the REQUEST_METHOD value before any modifications by the MethodOverride middleware. This is very similar to how this worked prior to 8d01dc0 but narrows the 'no Content-Type' special case to apply only to POST requests. A PUT request with no Content-Type header would trigger parsing before - with this change only POST requests with no Content-Type trigger parsing.
2009-12-20Status code lookup utility
2009-12-20Extract parse_query and parse_multipart in Request so subclasses
can change their behavior [#71 state:resolved]
2009-12-20Request#host knows about forwared host [#77 state:resolved]
2009-12-20Request#user_agent
2009-12-20exclude rackup tests by default because they often stall
2009-12-20Mention fix-root-scriptname in KNOWN-ISSUES
2009-12-20Merge branch 'master' of github.com:rack/rack
2009-12-11ignore rackup log output
2009-12-11NullLogger should actually be a middleware
2009-12-11Simple rack logger middleware that wraps rack.errors
2009-12-11Nop NullLogger
2009-12-11rack.logger specification
2009-12-11Import Ryan's Sendfile from contrib into core
2009-12-11Import runtime middleware by paul (Paul Sadauskas) into core
2009-12-11Import etag middleware from contrib into core
2009-12-11Import Config by jcrosby (Jon Crosby) into core
2009-12-10Reverse hash for looking up status codes by symbol
2009-12-10HeaderHash#each yields Lint-OK multivalue headers
Rack::Lint does not allow header values yielded by #each to be non-String objects, so we join them like we do in #to_hash. This finally allows HeaderHash to be passed in the Rack response as a header without needing #to_hash. Signed-off-by: Joshua Peek <josh@joshpeek.com>
2009-12-10CommonLogger uses HeaderHash to lookup Content-Length
Since HeaderHash is cheaper to use now, encourage its usage instead of reinventing a way to lookup header values with an enforced O(n) overhead. Under best conditions, this can now be done in O(1) time if the rest of our middleware stack already uses (and passes) HeaderHash. This does make things slower if CommonLogger is the only middleware in the stack, however that's probably not too common. Signed-off-by: Joshua Peek <josh@joshpeek.com>
2009-12-10avoid HeaderHash#to_hash in middlewares
Since HeaderHash objects are valid header responses, avoid converting the headers to Hash objects only to have it reconverted back to HeaderHash in the next middleware. Signed-off-by: Joshua Peek <josh@joshpeek.com>
2009-12-10HeaderHash.new avoids unnecessary object creation
Creating a new HeaderHash is an O(n) operation in addition to the cost of allocating a new object. When using multiple pieces of middleware, this can lead to unnecessary memory allocation and iteration overhead. We now explicitly define the HeaderHash.new class method to return its original argument if it is already a HeaderHash to avoid repeating work. Signed-off-by: Joshua Peek <josh@joshpeek.com>
2009-12-10Fixed multipart parameter parsing for when a field's body ends at the same ↵
time as a chunk (i.e. we've reached EOL and buffer is empty)
2009-12-10Introduce failing test case for multipart parser when it slices exactly on a ↵
boundary and patch multipart parser so it passes it - the failing test case comes with a sample payload specific to the fact that the default bufsize used by the multipart parser is exactly 16384. should this default be changed, the test will no longer apply.
2009-12-10Tell people to report bugs to lighthouse
2009-12-10Don't delete PATH_INFO from env in fastcgi, mongrel, and webrick
handlers because PATH_INFO must not be nil according to SPEC [#75 state:resolved]
2009-12-03Merge branch 'memcache-session-bugfix'
* memcache-session-bugfix: Test-fix for shallow copy change checks Added test for deep hash checks, prevent shallow copy check failure Session::Memcache fixes Updating Session::Memcache test Inlining of #merge_sessions
2009-12-03Test-fix for shallow copy change checks
Simplification of new/missing session keys