class Aws::Binary::EventBuilder
def _event_stream_message(event_ref, params)
def _event_stream_message(event_ref, params) es_headers = {} payload = "" es_headers[":message-type"] = Aws::EventStream::HeaderValue.new( type: "string", value: "event") es_headers[":event-type"] = Aws::EventStream::HeaderValue.new( type: "string", value: event_ref.location_name) explicit_payload = false implicit_payload_members = {} event_ref.shape.members.each do |member_name, member_ref| unless member_ref.eventheader if member_ref.eventpayload explicit_payload = true else implicit_payload_members[member_name] = member_ref end end end # implict payload if !explicit_payload && !implicit_payload_members.empty? if implicit_payload_members.size > 1 payload_shape = Shapes::StructureShape.new implicit_payload_members.each do |m_name, m_ref| payload_shape.add_member(m_name, m_ref) end payload_ref = Shapes::ShapeRef.new(shape: payload_shape) payload = build_payload_members(payload_ref, params) else m_name, m_ref = implicit_payload_members.first streaming, content_type = _content_type(m_ref.shape) es_headers[":content-type"] = Aws::EventStream::HeaderValue.new( type: "string", value: content_type) payload = _build_payload(streaming, m_ref, params[m_name]) end end event_ref.shape.members.each do |member_name, member_ref| if member_ref.eventheader && params[member_name] header_value = params[member_name] es_headers[member_ref.shape.name] = Aws::EventStream::HeaderValue.new( type: _header_value_type(member_ref.shape, header_value), value: header_value ) elsif member_ref.eventpayload && params[member_name] # explicit payload streaming, content_type = _content_type(member_ref.shape) es_headers[":content-type"] = Aws::EventStream::HeaderValue.new( type: "string", value: content_type) payload = _build_payload(streaming, member_ref, params[member_name]) end end Aws::EventStream::Message.new( headers: es_headers, payload: StringIO.new(payload) ) end