module Rad class StaticFiles def initialize(app, dir, filter = nil) @app = app @dir = File.expand_path(dir) @file_server = Rack::File.new(@dir) @filter = filter end def call(env) path = env["PATH_INFO"] if (!@filter or (@filter and @filter =~ path)) and File.exist?("#{@dir}#{path}") @file_server.call(env) else @app.call(env) end end end end