class Aws::Stubbing::Protocols::Rest
def encode_modeled_event(opts, rules, event_type, event_data, builder)
def encode_modeled_event(opts, rules, event_type, event_data, builder) event_ref = rules.shape.member(event_type) explicit_payload = false implicit_payload_members = {} event_ref.shape.members.each do |name, ref| if ref.eventpayload explicit_payload = true else implicit_payload_members[name] = ref end end if !explicit_payload && !implicit_payload_members.empty? unless implicit_payload_members.size > 1 m_name, _ = implicit_payload_members.first value = {} value[m_name] = event_data[m_name] opts[:payload] = StringIO.new(builder.new(event_ref).serialize(value)) end end event_data.each do |k, v| member_ref = event_ref.shape.member(k) if member_ref.eventheader opts[:headers][member_ref.location_name] = Aws::EventStream::HeaderValue.new( value: v, type: member_ref.eventheader_type ) elsif member_ref.eventpayload case member_ref.eventpayload_type when 'string' opts[:payload] = StringIO.new(v) when 'blob' opts[:payload] = v when 'structure' opts[:payload] = StringIO.new(builder.new(member_ref).serialize(v)) end end end opts[:headers][':event-type'] = Aws::EventStream::HeaderValue.new( value: event_ref.location_name, type: 'string' ) opts[:headers][':message-type'] = Aws::EventStream::HeaderValue.new( value: 'event', type: 'string' ) opts end