<% callback = false if callback.nil? %> <% if endpoint.parameters.select { |p| p.in == 'header'}.any? %>

Header Parameters

<%= erb :'open_api/_parameters', locals: { parameters: endpoint.parameters.select { |p| p.in == 'header' }, callback: callback } %> <% end %> <% if endpoint.path_parameters.any? %>

Path Parameters

<%= erb :'open_api/_parameters', locals: { parameters: endpoint.path_parameters, callback: callback } %> <% end %> <% if endpoint.query_parameters.any? %>

Query Parameter

<%= erb :'open_api/_parameters', locals: { parameters: endpoint.query_parameters, callback: callback } %> <% end %> <% if endpoint.request_body %> <% format = endpoint.request_body.formats[0] %>

Request body <%= format %>

<% if endpoint.request_body.description %> <%= endpoint.request_body.description.render_markdown %> <% end %> <% unless endpoint.request_body.exhibits_one_of_multiple_schemas?(format) %> <% # @mheap: This is hacky handling for allOf, but it works for now # We probably want real allOf support in OasParser, but that's more time than I have right now allOf = endpoint.request_body.content[format]['schema']['allOf'] if allOf params = allOf.reduce { |a,b| a.deep_merge(b) } params = params['properties'].map do |name, definition| OasParser::Property.new(nil, params, name, definition) end else params = endpoint.request_body.properties_for_format(format) end if params %> <%= erb :'open_api/_parameters', locals: { parameters: params, callback: callback } %> <% end %> <% else %> <% # This can likely be better done as a presenter, but it works for now schema = endpoint.request_body.content[format]['schema']['oneOf'] %> <%= erb :'open_api/_tabbed_parameters', locals: { body: endpoint.request_body, schema: schema, format: format, callback: callback } %> <% end end %>