Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Jan 5, 2009
  1. @chneukirchen

    Revert "Added Rack::Request initialization memoization to reduce repe…

    chneukirchen authored
    …titive instantiation cost."
    Potentially causes problems with inheritance.
    This reverts commits:
Commits on Dec 29, 2008
  1. @josh

    Don't try to rewind CGI input

    josh authored
Commits on Dec 25, 2008
  1. @chneukirchen

    Idiomize code

    chneukirchen authored
  2. @mtodd
Commits on Dec 24, 2008
  1. @josh
Commits on Nov 28, 2008
  1. @chneukirchen

    Avoid slurping or parsing request body on PUT requests

    Eric Wong authored chneukirchen committed
    Uploading a large file via the HTTP PUT method causes
    `@env["rack.input"].read' to be called inside the POST method.  This
    means the entire file is slurped into memory and was needlessly causing
    my Sinatra process to eat up 300M+ for some uploads I've been doing.
Commits on Aug 30, 2008
  1. @manveru @chneukirchen

    Add Request#ip and corresponding spec

    manveru authored chneukirchen committed
Commits on Jul 6, 2008
  1. @qerub @chneukirchen

    Added support for Accept-Encoding (via Request#accept_encoding and Ut…

    qerub authored chneukirchen committed
Commits on Apr 10, 2008
  1. @chneukirchen

    handle EOFError exception in Request#params

    chneukirchen authored
Commits on Mar 27, 2008
  1. Bug fix for Tempfile POST bodies under Ruby 1.8

    Adam Harper authored
    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
Commits on Mar 15, 2008
  1. @chneukirchen

    Fix that Request assumes form-data even when Content-Type says otherwise

    chneukirchen authored
    Fixes cases where accessing Request#params causes the body to be read and
    processed as form-data improperly. For example, consider the following
        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
    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.
Commits on Feb 24, 2008
  1. @chneukirchen

    Fix cookie parsing

    chneukirchen authored
Commits on Jan 21, 2008
  1. Conform to RFC 2109 regarding multiple values for same cookie

    Aman Gupta authored
Commits on May 16, 2007
  1. @chneukirchen

    Fix trailing whitespace. Sigh.

    chneukirchen authored
Commits on May 15, 2007
  1. @manveru

    add some features to Request and the corresponding tests for them

    manveru authored
Commits on Mar 30, 2007
  1. @chneukirchen

    Add Request#fullpath

    chneukirchen authored
Commits on Mar 1, 2007
  1. @chneukirchen

    Add RDocs

    chneukirchen authored
Commits on Feb 28, 2007
  1. @chneukirchen

    Remove the port number of HTTP_HOST and SERVER_NAME

    chneukirchen authored
  2. @chneukirchen

    Make Rack::Request read multipart form data

    chneukirchen authored
Commits on Feb 21, 2007
  1. @qerub

    Add getter method for the query string (and use it internally)

    qerub authored
  2. @chneukirchen

    Add Request#url

    chneukirchen authored
Commits on Feb 19, 2007
  1. @chneukirchen

    Return empty hash on lack of cookies

    chneukirchen authored
  2. @chneukirchen

    Cache the parsed things in Rack::Request

    chneukirchen authored
Commits on Feb 18, 2007
  1. @chneukirchen

    Rename Request#method to #request_method to not confuse stdlibs

    chneukirchen authored
  2. @chneukirchen

    More convenience for Rack::Request

    chneukirchen authored
Commits on Feb 17, 2007
  1. @chneukirchen

    Don't define path_info twice

    chneukirchen authored
Commits on Feb 16, 2007
  1. @chneukirchen

    Add Rack::Response and Rack::Utils

    chneukirchen authored
  2. @chneukirchen

    Add Rack::Request

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