1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #include <aws/chime-sdk-messaging/model/SendChannelMessageRequest.h>
7 #include <aws/core/utils/json/JsonSerializer.h>
8 #include <aws/core/utils/memory/stl/AWSStringStream.h>
9 
10 #include <utility>
11 
12 using namespace Aws::ChimeSDKMessaging::Model;
13 using namespace Aws::Utils::Json;
14 using namespace Aws::Utils;
15 
SendChannelMessageRequest()16 SendChannelMessageRequest::SendChannelMessageRequest() :
17     m_channelArnHasBeenSet(false),
18     m_contentHasBeenSet(false),
19     m_type(ChannelMessageType::NOT_SET),
20     m_typeHasBeenSet(false),
21     m_persistence(ChannelMessagePersistenceType::NOT_SET),
22     m_persistenceHasBeenSet(false),
23     m_metadataHasBeenSet(false),
24     m_clientRequestToken(Aws::Utils::UUID::RandomUUID()),
25     m_clientRequestTokenHasBeenSet(true),
26     m_chimeBearerHasBeenSet(false)
27 {
28 }
29 
SerializePayload() const30 Aws::String SendChannelMessageRequest::SerializePayload() const
31 {
32   JsonValue payload;
33 
34   if(m_contentHasBeenSet)
35   {
36    payload.WithString("Content", m_content);
37 
38   }
39 
40   if(m_typeHasBeenSet)
41   {
42    payload.WithString("Type", ChannelMessageTypeMapper::GetNameForChannelMessageType(m_type));
43   }
44 
45   if(m_persistenceHasBeenSet)
46   {
47    payload.WithString("Persistence", ChannelMessagePersistenceTypeMapper::GetNameForChannelMessagePersistenceType(m_persistence));
48   }
49 
50   if(m_metadataHasBeenSet)
51   {
52    payload.WithString("Metadata", m_metadata);
53 
54   }
55 
56   if(m_clientRequestTokenHasBeenSet)
57   {
58    payload.WithString("ClientRequestToken", m_clientRequestToken);
59 
60   }
61 
62   return payload.View().WriteReadable();
63 }
64 
GetRequestSpecificHeaders() const65 Aws::Http::HeaderValueCollection SendChannelMessageRequest::GetRequestSpecificHeaders() const
66 {
67   Aws::Http::HeaderValueCollection headers;
68   Aws::StringStream ss;
69   if(m_chimeBearerHasBeenSet)
70   {
71     ss << m_chimeBearer;
72     headers.emplace("x-amz-chime-bearer",  ss.str());
73     ss.str("");
74   }
75 
76   return headers;
77 
78 }
79 
80 
81 
82 
83