Sha256: ea896f563dd8bbc47293b3b7839a8f7c867fbf3ca45ccaa27570c49609f63170
Contents?: true
Size: 620 Bytes
Versions: 1
Compression:
Stored size: 620 Bytes
Contents
module Rack class Taint def initialize(app) @app = app end def call(env) dup._call(env) end def _call(env) env.each do |k, v| v.taint unless k.include?('.') end input = env['rack.input'].taint if input.respond_to?(:string) require 'rack/taint/readable' input.extend(Readable).string.taint end # Some middleware (e.g., Rack::MethodOverride) may cause parameter # parsing before we taint. env.delete('rack.request.form_input') env.delete('rack.request.query_string') @app.call(env) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rack-taint-1.0.0 | lib/rack/taint.rb |