Sha256: 66391c8774f000f76e1f9ec231de9051a4264d2ad003bf6cae41072f33e85a6a
Contents?: true
Size: 946 Bytes
Versions: 2
Compression:
Stored size: 946 Bytes
Contents
module Fakeit module App module Helpers class BodyParser class << self def parse(request) case request.media_type when %r{^application/.*json} { media_type: request.media_type, data: parse_json(request.body.read) } when 'multipart/form-data' { media_type: request.media_type, data: parse_form_data(request.params) } else { media_type: request.media_type, data: request.body.read } end end private def parse_json(body) body.empty? ? {} : JSON.parse(body) rescue StandardError raise Fakeit::Validation::ValidationError, 'Invalid json payload' end def parse_form_data(params) params.transform_values { |v| v.class == Hash && v[:tempfile] ? v[:tempfile].read : v } end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
fakeit-0.7.1 | lib/fakeit/app/helpers/body_parser.rb |
fakeit-0.7.0 | lib/fakeit/app/helpers/body_parser.rb |