summaryrefslogtreecommitdiff
path: root/protocols/SkypeWeb/src/requests
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2024-07-23 20:40:34 +0300
committerGeorge Hazan <george.hazan@gmail.com>2024-07-23 20:40:34 +0300
commitbcd917f6ebe6562311a49588c9e62bbaeeec144b (patch)
treeec05cb7ed6b59c7612899924cc65b0596ccee4f5 /protocols/SkypeWeb/src/requests
parentba634391342d703c7ff377a9955334629246fe9b (diff)
for #4551: fix for the raw files sending
Diffstat (limited to 'protocols/SkypeWeb/src/requests')
-rw-r--r--protocols/SkypeWeb/src/requests/files.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/protocols/SkypeWeb/src/requests/files.h b/protocols/SkypeWeb/src/requests/files.h
index d47b3637f3..0517385bf3 100644
--- a/protocols/SkypeWeb/src/requests/files.h
+++ b/protocols/SkypeWeb/src/requests/files.h
@@ -41,3 +41,19 @@ struct ASMObjectUploadRequest : public AsyncHttpRequest
memcpy(m_szParam.GetBuffer(), data, size);
}
};
+
+struct SendFileRequest : public AsyncHttpRequest
+{
+ SendFileRequest(const char *username, time_t timestamp, const char *message, const char *messageType, const char *asmRef) :
+ AsyncHttpRequest(REQUEST_POST, HOST_DEFAULT, 0, &CSkypeProto::OnMessageSent)
+ {
+ m_szUrl.AppendFormat("/users/ME/conversations/%s/messages", mir_urlEncode(username).c_str());
+
+ JSONNode node, ref(JSON_ARRAY);
+ ref.set_name("amsreferences"); ref.push_back(JSONNode("", asmRef));
+
+ node << INT64_PARAM("clientmessageid", timestamp) << CHAR_PARAM("messagetype", messageType)
+ << CHAR_PARAM("contenttype", "text") << CHAR_PARAM("content", message) << ref;
+ m_szParam = node.write().c_str();
+ }
+};