Module: OpenapiFirst::RequestBodyParsers::MultipartBodyParser
- Defined in:
- lib/openapi_first/request_body_parsers.rb
Overview
Parses multipart/form-data requests and currently puts the contents of a file upload at the parsed hash values. NOTE: This behavior will probably change in the next major version.
The uploaded file should not be read during request validation.
Class Method Summary collapse
Class Method Details
.call(request) ⇒ Object
43 44 45 46 47 |
# File 'lib/openapi_first/request_body_parsers.rb', line 43 def self.call(request) request.POST.transform_values do |value| unpack_value(value) end end |
.unpack_value(value) ⇒ Object
49 50 51 52 53 54 55 56 57 |
# File 'lib/openapi_first/request_body_parsers.rb', line 49 def self.unpack_value(value) return value.map { unpack_value(_1) } if value.is_a?(Array) return value unless value.is_a?(Hash) return value[:tempfile]&.read if value.key?(:tempfile) value.transform_values do |v| unpack_value(v) end end |