class Rack::InvalidUriProtector
Constants
- SANITIZE_ENV_KEYS
- VERSION
Public Class Methods
new(app)
click to toggle source
# File lib/rack/invalid_uri_protector.rb, line 12 def initialize(app) @app = app end
Public Instance Methods
call(env)
click to toggle source
# File lib/rack/invalid_uri_protector.rb, line 16 def call(env) SANITIZE_ENV_KEYS.each do |key| string = env[key].to_s valid = URI.decode(string).force_encoding('UTF-8').valid_encoding? # Don't accept requests with invalid byte sequence return [400, {}, ['Bad request']] unless valid end @app.call(env) end