Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Jun 12, 2015
  1. @deepj
Commits on May 26, 2015
  1. @deepj
Commits on Mar 5, 2015
  1. @tenderlove

    Merge pull request #810 from DamirSvrtan/yield_instead_of_block_call

    tenderlove authored
    Use yield instead of
Commits on Mar 1, 2015
  1. @DamirSvrtan
Commits on Feb 27, 2015
  1. @DamirSvrtan
Commits on Feb 19, 2015
  1. @tenderlove

    Merge branch 'master' into soulim-even-less-objects

    tenderlove authored
    * master: (53 commits)
      Update documentation of Rack::Response defaults
      Reduce string allocations.
      Clean up `@names` hash
      Don't pass arguments to `#each`
      Freeze 'X-Runtime' string
      Reduce object allocation.
      Fix bug when `qs` is `nil`
      Update license with up-to-date year
      Use default bundle install command.
      Reduce object allocations in Rack::Utils
      add office related Mime type
      fix typo
      Remove whitespaces
      Add woff2 mime type
      Update head.rb
      Fix spec versions in all handler files
      Run all the tests on ci, we have the pkgs
      Oh look, no one has run fulltest for so long
      did you know you could use turtles to shave yaks?
      Update travis.yml since we added bundler and stuff
Commits on Feb 4, 2015
  1. @yeonhoyoon

    fix typo

    yeonhoyoon authored
Commits on Dec 23, 2014
  1. @raggi

    Fix lint header regex

    raggi authored
Commits on Nov 27, 2014
  1. @raggi
  2. @spastorino

    Merge pull request #399 from EqualMedia/rfc2616-compat

    spastorino authored
    Validate header names according to RFC 2616
  3. @codekitchen @spastorino

    add rack.multipart options to lint and SPEC

    codekitchen authored spastorino committed
Commits on Oct 3, 2014
  1. @soulim

    Follow-up for the pull request #737

    soulim authored
    More commonly used strings converted into constants, and some strings are replaced with previously extracted constants.
Commits on Oct 2, 2014
  1. @schneems

    Less allocated objects on each request

    schneems authored
    How many? Using `memory_profiler` and a Rails app (, master uses:
    rack/lib x 7318
    After this patch, the app uses:
    rack/lib x 4598
    Or `(7318 - 4598) / 7318.0 * 100 # => 37.16` % fewer objects __PER REQUEST__.
    To do this, I extracted really commonly used strings into top level Rack constants. It makes for a bit of a big diff, but I believe the changes are worth it. 
    Running benchmark/ips against the same app, I'm seeing a performance host of `2~4%` across the entire app response. This doesn't just make Rack faster, it will make your app faster.
    While we could certainly go overboard and pre-define ALL strings as constants, that would be pretty gnarly to work with. This patch goes after the largest of the low hanging fruit.
Commits on Jan 20, 2014
  1. @ArtemPyanykh

    Reformat Rack::Lint docs.

    ArtemPyanykh authored
    Limit lines to 80 chars.
Commits on Dec 4, 2013
  1. @obfusk @spastorino

    fix \n in spec

    obfusk authored spastorino committed
    Signed-off-by: Santiago Pastorino <>
Commits on May 28, 2013
  1. @vipulnsward

    Fix some typos

    vipulnsward authored
Commits on Apr 13, 2013
  1. @vipulnsward

    fix typos

    vipulnsward authored
Commits on Feb 8, 2013
  1. @novemberborn

    Validate header names according to RFC 2616

    novemberborn authored Ben Symonds committed
    Header name validation rules are too strict. RFC 2616 allows any ASCII character save from 0-32, 127, "(", ")", "<", ">", "@", ",", ";", ":", "\", <">, "/", "[", "]", "?", "=" and "{", "}".
Commits on Jan 28, 2013
  1. @raggi

    Remove specific version code from Lint

    raggi authored
     * Too easy to miss during updates
     * Required format unchanged
     * Closes #501
Commits on Jan 22, 2013
  1. lint: avoid TypeError on non-Hash-like response headers

    Eric Wong authored
    According to SPEC (and check_headers), Response headers need only
    respond to #each.  Thus, check_hijack_response should rely on
    Rack::Utils::HeaderHash if it wishes to access the headers in a
    hash-like fashion.
Commits on Jan 11, 2013
  1. @raggi
Commits on Jan 5, 2013
  1. @raggi
Commits on Jan 4, 2013
  1. @raggi
Commits on Dec 30, 2012
  1. @raggi
  2. @raggi

    Correct some of the mime type issues. References #316 and #366.

    raggi authored raggi committed
    HTTP 1.0 and 1.1 do not have MUST for Content-Type requirements, they have "should" (not SHOULD). They also have text describing how clients should handle this header being missing.
Commits on Dec 28, 2012
  1. @raggi

    Clarify the body.close spec section

    raggi authored
     * This item is frequently missed, including in core.
     * This is not a change in semantic requirement, and does not update the SPEC
Commits on Mar 17, 2012
  1. @raggi
Commits on Aug 16, 2011
  1. @dkubb
Commits on May 23, 2011
  1. @raggi
Commits on Apr 29, 2010
  1. @rtomayko
Commits on Apr 7, 2010
  1. @josh

    size is not part of the input SPEC

    josh authored
    If size is added as a formal requirement, revert this commit. Till
    then Lint should bomb if middleware tries to access
    Discussion about adding #size to rack.input
Commits on Feb 15, 2010
  1. @jeremy

    Merge remote branch 'origin/master'

    jeremy authored
Commits on Jan 10, 2010
  1. @chneukirchen
Commits on Dec 26, 2009
  1. @josh

    Bump version and release to 1.1

    josh authored
Commits on Dec 11, 2009
  1. @josh

    rack.logger specification

    josh authored
Something went wrong with that request. Please try again.