Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Nov 4, 2015
  1. @tenderlove

    add Rack::Events middleware

    tenderlove committed
    * Add `Rack::Events` middleware for adding event based middleware:
    middleware that does not care about the response body, but only cares
    about doing work at particular points in the request / response
Commits on Oct 11, 2015
  1. @frodsan

    Add support for custom hmac.

    frodsan committed
Commits on Oct 8, 2015
  1. @tenderlove

    add Rack::Request#authority

    tenderlove committed
    * Add `Rack::Request#authority` to calculate the authority under which
    the response is being made (this will be handy for h2 pushes).
Commits on Oct 6, 2015
  1. @tenderlove

    * Add `Rack::Response::Helpers#cache_control` and `cache_control=`.

    tenderlove committed
    Use this for setting cache control headers on your response objects.
  2. @tenderlove

    * Add `Rack::Response::Helpers#etag` and `etag=`. Use this for

    tenderlove committed
    setting etag values on the response.
Commits on Oct 5, 2015
  1. @tenderlove
Commits on Oct 4, 2015
  1. @jeremy

    `Response#add_header` to add to a value to a multivalued header

    jeremy committed
    * Introduce `Rack::Response::Helpers#add_header` to add a value to a
      multi-valued response header. Implemented in terms of other
      `Response#*_header` methods, so it's available to any response-like
      class that includes the `Helpers` module.
    * Add `Rack::Request#add_header` to match.
    * Rename `Response#have_header?` to `#has_header?` to match existing
    * Add test coverage for this and other `*_header` methods.
Commits on Oct 1, 2015
  1. @jeremy
Commits on Sep 25, 2015
  1. @tenderlove

    ask the request for session options

    tenderlove committed
    The request is in charge.
  2. @tenderlove

    make `commit_session` public

    tenderlove committed
Commits on Sep 24, 2015
  1. @tenderlove

    use a response object when committing the session

    tenderlove committed
    Add an adapter object (Rack::Response::Raw) and use that internally in
    the session middleware.  After that we will make commit_session public
    so the session can be committed out of band of the middleware
  2. @tenderlove
  3. @tenderlove

    Merge pull request #943 from ggrossman/fix_name_token_at_eol

    tenderlove committed
    Fix bug in parsing of Content-Disposition header where an unquoted name at end-of-line sucked in the trailing newline
  4. @tenderlove

    Merge pull request #947 from davidrunger/doc-fix

    tenderlove committed
    fix rdoc formatting (remove accidental links)
  5. @tenderlove

    Merge pull request #950 from liamseanbrady/fix_minor_params_style_issue

    tenderlove committed
    Fix missing space in list of paramaters
Commits on Sep 23, 2015
  1. @tenderlove
Commits on Sep 21, 2015
  1. @tenderlove

    deflater: always finish zlib stream before closing

    Eric Wong committed with tenderlove
    This helps avoid Zlib::DataError when a client disconnects on
    the server while the server is writing the response.
    This fixes the following backtraces on my server:
      data error (Zlib::DataError)
      rack/deflater.rb:124:in `close'
      rack/deflater.rb:124:in `ensure in each'
      rack/deflater.rb:124:in `each'
      rack/chunked.rb:23:in `each'
  2. @liamseanbrady
Commits on Sep 13, 2015
  1. @davidrunger

    fix rdoc formatting (remove accidental links)

    davidrunger committed
    In several places the rdoc comments attempt to indicate hash access, for
    example `env['rack.input']`, but rdoc interprets this as a link with
    text "env" and href="%27rack.input%27/". Wrapping these snippets of hash
    access code in `<tt>` tags escapes the link syntax and also renders the
    code snippets in monospace.
Commits on Sep 8, 2015
  1. @ggrossman

    When parsing the name parameter of Content-Disposition, support quote…

    ggrossman committed
    …d chars in the quoted-string case.
Commits on Sep 6, 2015
  1. @ggrossman

    Fix bug in parsing of Content-Disposition header where an unquoted na…

    ggrossman committed
    …me at end-of-line sucked in the trailing newline.
Commits on Sep 5, 2015
  1. @tenderlove

    fixing the CI

    tenderlove committed
    I really don't understand what is wrong.  URI::Parser should exist.
  2. @tenderlove
  3. @tenderlove

    move Session::Pool to new superclass

    tenderlove committed
    ID is deprecated, and we only want to deal with request objects, so move
    to the new superclass.
  4. @tenderlove

    fully qualify URI constant

    tenderlove committed
  5. @tenderlove

    Merge pull request #935 from deepj/rack-handler-default

    tenderlove committed
    Remove unneeded `options` parameter in Rack::Handler.default
  6. @tenderlove

    Merge pull request #936 from deepj/remove-scrub_filename

    tenderlove committed
    Remove `scrub_filename` in favor of the native string `scrub!` method
  7. @BenMorganIO

    fix spelling

    BenMorganIO committed
  8. @tenderlove

    `Rack::Session::Abstract::ID` IS DEPRECATED.

    tenderlove committed
    Please switch to `Rack::Session::Abstract::Persisted`.
    `Rack::Session::Abstract::Persisted` uses a request object rather than
    the `env` hash.
  9. @tenderlove

    pull env access in the request object to a module

    tenderlove committed
    this also tests that delegation to the request object is possible.  I
    want to see exactly how many methods we need to delegate in order to
    look like a real request object
Commits on Sep 4, 2015
  1. @tenderlove

    Move most methods on the `Rack::Request` to a module

    tenderlove committed
    Move most request methods to `Rack::Request::Helpers` and use public API
    to get values from the request object.  This enables users to mix
    `Rack::Request::Helpers` in to their own objects so they can implement
    `(get|set|fetch|each)_header` as they see fit (for example a proxy
  2. @tenderlove

    require all of uri

    tenderlove committed
    Parser isn't defined if you don't require the top level uri
  3. @tenderlove

    use `Rack::Utils.unescape_path` to unescape path_info

    tenderlove committed
    Unescaping paths is different from unescaping query parameters.  This
    commit changes the unescape to use the URI parser to unescape the path,
    which leaves `+` as `+`.
    Fixes #265
    References rails/rails#11816
  4. @tenderlove

    fixing support for directories that have + in the name

    tenderlove committed
    directories that have + in the name should be served up if the browser
    puts a + in the path.  + is a valid path character, so it should not be
    translated to a space (like you do in query parameters).
    references #265 rails/rails#11816
  5. @tenderlove

    make directory middelware threadsafe without `dup`

    tenderlove committed
    The directory middleware should be thread safe without duping now, so it
    will only allocate an iterable object when there is data to return.
Something went wrong with that request. Please try again.