From mboxrd@z Thu Jan 1 00:00:00 1970 Delivered-To: chneukirchen@gmail.com Received: by 10.140.141.15 with SMTP id o15cs289719rvd; Fri, 15 Jan 2010 19:28:58 -0800 (PST) Received: from mr.google.com ([10.150.173.3]) by 10.150.173.3 with SMTP id v3mr608439ybe.73.1263612538161 (num_hops = 1); Fri, 15 Jan 2010 19:28:58 -0800 (PST) Received: by 10.150.173.3 with SMTP id v3mr31364ybe.73.1263612536478; Fri, 15 Jan 2010 19:28:56 -0800 (PST) X-BeenThere: rack-devel@googlegroups.com Received: by 10.151.16.12 with SMTP id t12ls241594ybi.1.p; Fri, 15 Jan 2010 19:28:54 -0800 (PST) Received: by 10.150.117.41 with SMTP id p41mr970309ybc.22.1263612534308; Fri, 15 Jan 2010 19:28:54 -0800 (PST) Received: by 10.101.170.11 with SMTP id x11mr3184647ano.9.1263572607398; Fri, 15 Jan 2010 08:23:27 -0800 (PST) Received: by 10.101.170.11 with SMTP id x11mr3184646ano.9.1263572607353; Fri, 15 Jan 2010 08:23:27 -0800 (PST) Return-Path: Received: from mail-yw0-f170.google.com (mail-yw0-f170.google.com [209.85.211.170]) by gmr-mx.google.com with ESMTP id 18si190033ywh.1.2010.01.15.08.23.27; Fri, 15 Jan 2010 08:23:27 -0800 (PST) Received-SPF: pass (google.com: domain of gbuesing@gmail.com designates 209.85.211.170 as permitted sender) client-ip=209.85.211.170; Received: by mail-yw0-f170.google.com with SMTP id 42so1591106ywh.28 for ; Fri, 15 Jan 2010 08:23:27 -0800 (PST) MIME-Version: 1.0 Received: by 10.101.139.7 with SMTP id r7mr198941ann.11.1263572591306; Fri, 15 Jan 2010 08:23:11 -0800 (PST) Date: Fri, 15 Jan 2010 08:23:11 -0800 (PST) X-IP: 64.81.227.173 User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_8; en-us) AppleWebKit/531.21.8 (KHTML, like Gecko) Version/4.0.4 Safari/531.21.10,gzip(gfe),gzip(gfe) Message-ID: Subject: Potential Rack-Contrib contributions From: Geoff Buesing To: Rack Development Reply-To: rack-devel@googlegroups.com Precedence: list Mailing-list: list rack-devel@googlegroups.com; contact rack-devel+owners@googlegroups.com List-ID: List-Post: , List-Help: , List-Archive: X-Thread-Url: http://groups.google.com/group/rack-devel/t/c034955ef1a34475 X-Message-Url: http://groups.google.com/group/rack-devel/msg/b96a93ca2c85db2b Sender: rack-devel@googlegroups.com List-Unsubscribe: , List-Subscribe: , Content-Type: text/plain; charset=ISO-8859-1 I've pulled together some useful generic middleware into http://github.com/gbuesing/rackables: * Rackables::Branch - Conditionally re-routes the Rack stack at runtime to an alternate endpoint * Rackables::CacheControl - Sets response Cache-Control header * Rackables::DefaultCharset - Sets charset directive in Content-Type header * Rackables::Get - Allows creation of simple endpoints and path routing with a syntax similar to Sinatra's get method * Rackables::HideExceptions - Rescues exceptions with a static exception page * Rackables::TrailingSlashRedirect - 301 Redirects requests paths with a trailing slash If any of these would be a good fit for Rack-Contrib, let me know, I'd be happy to pull together patches.