{"thread":{"id":"21466","subject":"[ANNOUNCE] Grack - Rack-based Git Smart-HTTP Handler","startedAt":"2009-11-03T18:57:53Z","lastAt":"2009-11-03T18:57:53Z","messageCount":1,"participants":["Scott Chacon"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"126665","messageId":"d411cc4a0911031057q652c325ay13dee80c7d9b4606@mail.gmail.com","threadId":"21466","inReplyTo":null,"subject":"[ANNOUNCE] Grack - Rack-based Git Smart-HTTP Handler","fromName":"Scott Chacon","fromEmail":"schacon@gmail.com","sentAt":"2009-11-03T18:57:53Z","receivedAt":"2009-11-03T18:57:53Z","isPatch":false,"sender":{"key":"schacon@gmail.com","avatar":"https://gravatar.com/avatar/9b13a8a078e1dcf8588c4eea9554445d51ebed6c41b51f56f4d96738130b05c6?d=mp&s=160"},"body":"Just a quick note for those of you interested in running a smart-http\nserver once Shawns series graduates from 'pu' - I don't use Apache and\nthe provided git-http-backend CGI script only works with Apache\ncurrently (and only CGI-supporting servers in general).  In order to\nallow Git smart-http to work through a wider variety of servers, I\nwrote a Rack application that does the same things that\ngit-http-backend does, in case CGI/Apache is not your particular bag\nof fun.\n\nRack (http://rack.rubyforge.org/) is a Ruby webserver interface - you\ncan write an application for it and it has a bunch of handlers for\ncommon webservers so you can deal with a middleware abstraction rather\nthan a specific server implementation.  This is nice because it means\nthe Rack app I wrote that provides (hopefully) identical functionality\nto the git-http-backend script can run in the following webservers:\n\n* Just about anything that supports CGI or FCGI\n* Mongrel (and EventedMongrel and SwiftipliedMongrel)\n* WEBrick\n* SCGI\n* LiteSpeed\n* Thin\n* Ebb\n* Fuzed\n* Phusion Passenger (which is mod_rack for Apache and for nginx)\n* Unicorn\n\nYou can also generate a WAR file from it (via the Warbler project and\nJRuby) that can be loaded into any Java application server (I tested\nit on Glassfish, but Tomcat, Websphere, JBoss, Jetty, etc should all\nwork too).\n\nThe project is here:\n\nhttp://github.com/schacon/grack\n\nI've tested it on a few servers, I'll try to test it on more and\nprovide example setups for each.  If you use it, please let me know\nhow things go.\n\nScott\n"}]}