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