Split GitHttpCloner "metal" in two Rack endpoints
authorChristian Johansen <christian@gitorious.com>
Fri, 2 Nov 2012 15:25:57 +0000 (16:25 +0100)
committerChristian Johansen <christian@gitorious.com>
Fri, 2 Nov 2012 15:25:57 +0000 (16:25 +0100)
commitdb9e65120c178407842d27e20af9336bac587af4
tree53cf0255d50f0bcd6036a4100336d94a05ce0840
parent7886a3e3d6febc4af50ad179e70ea58494141d84
Split GitHttpCloner "metal" in two Rack endpoints

  - The new one is a stand-alone Rack app that can be routed to
    A route that matches /<whatever>/<whatever>.git/<whatever>
    was added to point to this new app. This enables Gitorious to
    serve Git over HTTP without the dedicated hostname required by
    versions < 3.0.
  - The old metal can be plugged in as a middleware and work as
    the metal used to. It calls back into the application if it
    does not believe it can fulfill the request on its own. If it
    deems the request to be a cloning request, it delegates to the
    new Rack app discussed above.
app/metal/git_http_cloner.rb
config/application.rb
config/routes.rb
lib/gitorious/git_http_cloner.rb [new file with mode: 0644]
test/integration/git_http_cloning_test.rb