require 'stringio' require File.join(File.dirname(__FILE__), 'string_replacer') module Jangle # A class for replacing strings in a request body class StringReplacingRequestBodyFilter include StringReplacer def filter(rack_request) data = rack_request.body.read data = do_replacements(data) rack_request.env['rack.input'] = StringIO.new(data) rack_request.env['CONTENT_LENGTH'] = data.length end end end