class Aws::RpcV2::ContentTypeHandler
def call(context)
def call(context) content_type = if eventstream_input?(context) 'application/vnd.amazon.eventstream' elsif !empty_input_structure?(context) 'application/cbor' end accept = if eventstream_output?(context) 'application/vnd.amazon.eventstream' else 'application/cbor' end headers = context.http_request.headers headers['Content-Type'] ||= content_type if content_type headers['Accept'] ||= accept @handler.call(context) end
def empty_input_structure?(context)
def empty_input_structure?(context) context.operation.input.shape.struct_class == EmptyStructure end
def eventstream_input?(context)
def eventstream_input?(context) context.operation.input.shape.members.each do |_, ref| return true if ref.eventstream end false end
def eventstream_output?(context)
def eventstream_output?(context) context.operation.output.shape.members.each do |_, ref| return true if ref.eventstream end false end