class TaintedLove::Replacer::ReplaceRackFile

Public Instance Methods

before() click to toggle source
# File lib/tainted_love/replacer/replace_rack_file.rb, line 10
def before
  env['PATH_INFO'].untaint
end
env() click to toggle source
# File lib/tainted_love/replacer/replace_rack_file.rb, line 14
def env
  arguments.first
end
replace!() click to toggle source
# File lib/tainted_love/replacer/replace_rack_file.rb, line 7
def replace!
  # Assume that Rack::File is used path that are safe
  TaintedLove::Utils::Proxy.new('Rack::File', :call) do
    def before
      env['PATH_INFO'].untaint
    end

    def env
      arguments.first
    end
  end

  TaintedLove.proxy_method('Rack::File', :initialize) do |_, *args|
    args.first.untaint
  end
end