This code was originaly copied from Rack::BodyProxy github.com/rack/rack/blob/master/lib/rack/body_proxy.rb
Copyright (C) 2007, 2008, 2009, 2010 Christian Neukirchen <purl.org/net/chneukirchen>