Allow specifying a default handler
Play nicely with custom coders that allow '--' to appear in the encoded cookie
oops. this should make 1.8.7 happier
Add Rack::Builder#warmup method for app preloading.

This new `warmup` method takes a block which is invoked after the app
is built. The block can be used to make mock requests that ensure
all application dependencies are loaded before the app starts
serving traffic.

With complex frameworks like Rails, many dependencies are auto-loaded
and data like mime-type and i18n is not loaded into memory by default. This
often means the first few requests handled by an application are quite
slow.

With this patch, config.ru can simply make requests via warmup to
exercise the app before it is used:

  $ tail -4 config.ru
  warmup do |app|
    client = Rack::MockRequest.new(app)
    client.get('/')
  end
Add OPTIONS support to File and MockRequest.

Also update the specs for same.

RFC 2616, section 9.2 specifies OPTIONS requests.  Not much effort to
support it for this case; there's already an ALLOWED_VERBS cosntant in
Rack::File, and the spec describes the body of the request as optional.
Minor fix to Rack::File OPTIONS for Lint.
correct handling for incomplete hash/array parameters
Merge pull request #617 from tmm1/builder-warmup

Add Rack::Builder#warmup method for app preloading.
Add colon to match common logger spec

Apache Common Logger uses a colon between the date and time, see http://httpd.apache.org/docs/1.3/logs.html#common and http://en.wikipedia.org/wiki/Common_Log_Format for examples.
Merge pull request #621 from palexander/patch-1

Add colon to match common logger spec
handle authorization header without auth scheme
Add accept_language method to request to extract HTTP_ACCEPT_LANGUAGE header as per RFC 2616 + spec to test it
don't bother constructing a parser if it's not multipart
decouple the param parser from `env`
move initializer stuff to initialize
eagerly calculate rx
only generate one object for `full_boundary`

every call to `full_boundary` generated a new String object, but the
contents are always the same.  Just generate it once
the returned filename is never actually used
push the default case up
an object is always yielded, so eliminate the conditional