lib/middleware/json_parse_errors.rb
module ZuoraConnect class JsonParseErrors def initialize(app) @app = app end def call(env) begin @app.call(env) rescue ActionDispatch::ParamsParser::ParseError => error if env['HTTP_ACCEPT'] =~ /application\/json/ || env['CONTENT_TYPE'] =~ /application\/json/ return [ 400, { "Content-Type" => "application/json" }, [{"success": false, "reasons": [{"code": 50000090, "message": "Malformed json was submitted." }]}.to_json ] ] else raise error end end end end end