Commits on Mar 12, 2009
Commits on Mar 11, 2009
Commits on Mar 10, 2009
  1. Hook mechanizm for route_added [help from rtomayko]

    bmizerany committed Mar 10, 2009
    module Sinatra
      module RouteAddedExtSample
        def self.route_added(verb, path)
          p [verb, path]
      register RouteAddedExtSample
    post '/' do
    ["POST", "/"]
    move superclass logic into extensions attr reader
Commits on Mar 9, 2009
  1. security release

    rtomayko committed Mar 9, 2009
Commits on Mar 3, 2009
  1. 0.9.1 release

    rtomayko committed Mar 3, 2009
Commits on Mar 2, 2009
  1. Fix test_with_rack_env example in README

    cypher committed with rtomayko Mar 2, 2009
    First, there was a missing quote, and second :agent is more
    clear than HTTP_USER_AGENT.
Commits on Feb 27, 2009
  1. Don't allow :session option in body/params arg; misc refactoring

    rtomayko committed Feb 27, 2009
    This changes the parent commit's :session option semantics just
    slightly. The :session option must be passed as part of the options
    Hash -- the body arg is assumed to be params or a POST/PUT body.
    Also, the mapping from :session to HTTP_COOKIE has been switched to
    'rack.session' - mapping it to HTTP_COOKIE doesn't make any sense.
    While here, refactor the make_request method to make it more
    obvious that we're really just building up the options Hash for
  2. Fix middleware not running when app run as middleware [#161]

    rtomayko committed Feb 27, 2009
    The app's middleware pipeline was ignored when the app itself was
    run as middleware. This was due to the separate call paths for
    middleware vs. endpoint apps. This change makes it so that both
    endpoint and middleware apps are invoked via the same instance
    level #call method.
    One potentially confusing aspect of this change is that now
    returns the head of the app's middleware pipeline. If no middleware
    is used by the app, this will be an instance of the Base class;
    however, if middleware is used, will return the head of
    the middleware chain leading to the Base instance.
Commits on Feb 25, 2009
  1. Better Content-Length handling for HEAD requests

    rtomayko committed Feb 25, 2009
    Responses to HEAD requests _should_ have a Content-Length header
    that's identical to GET requests. When a body is provided by the
    application, set the Content-Length header to the size of the body
    and replace the body with an empty Array; when no body is provided
    by the application in response to a HEAD request, and the
    Content-Length is calculated to be "0", remove the Content-Length
    header entirely to avoid mis-matched values.
    The idea here is that it's better to omit the header when we believe
    the Content-Length is not indicative of the same in response to GET
    than to send the Content-Length with a mismatched value. Logic
    taken from Apache and is generally in line with RFC 2616.
Commits on Feb 24, 2009
  1. yield the MockRequest to the block before invoking the app [#111]

    rtomayko committed Feb 24, 2009
    sr commented this out during some refactoring but I'd like
    to leave it in for now.
  2. Add registered callback for extension modules [#148]

    rtomayko committed Feb 22, 2009
    The "registered" message is sent to extension modules immediately
    after the module is mixed into a Sinatra::Base class. This can be
    used to initialize the class with options, add templates, define
    error handlers, etc.
Commits on Feb 23, 2009
  1. Remove disabled compat specs

    rtomayko committed Feb 23, 2009
Commits on Feb 22, 2009
  1. Test for #head

    sr committed with rtomayko Feb 22, 2009
  2. Cosmetic change to test for #follow

    sr committed with rtomayko Feb 22, 2009
  3. Little refactoring of Sinatra::Test

    sr committed with rtomayko Feb 20, 2009
  4. Started test for Sinatra::Test

    sr committed with rtomayko Jan 28, 2009