Sha256: b9322f82e7cf9675030a933e9369719742f4436f4742cccea5b3842997a71414
Contents?: true
Size: 594 Bytes
Versions: 2
Compression:
Stored size: 594 Bytes
Contents
# frozen_string_literal: true module Schneiderlein class FlyCatcher < Struct.new(:app) def call(env) begin app.call(env) rescue ActionDispatch::ParamsParser::ParseError => e env['rack.schneiderlein.parse_errors'] ||= [] env['rack.schneiderlein.parse_errors'] << e app.call(remove_errors_from(env)) end end private def remove_errors_from(env) env['rack.input'] = StringIO.new env['rack.errors'] = StringIO.new env['RAW_POST_DATA'] = '' env['CONTENT_LENGTH'] = '0' env end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
schneiderlein-1.3.1 | lib/schneiderlein/fly_catcher.rb |
schneiderlein-1.3.0 | lib/schneiderlein/fly_catcher.rb |