summaryrefslogtreecommitdiff
path: root/protocols/SkypeWeb/src/requests/status.h
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/SkypeWeb/src/requests/status.h')
-rw-r--r--protocols/SkypeWeb/src/requests/status.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/protocols/SkypeWeb/src/requests/status.h b/protocols/SkypeWeb/src/requests/status.h
new file mode 100644
index 0000000000..07703e84ae
--- /dev/null
+++ b/protocols/SkypeWeb/src/requests/status.h
@@ -0,0 +1,26 @@
+#ifndef _SKYPE_REQUEST_STATUS_H_
+#define _SKYPE_REQUEST_STATUS_H_
+
+class SetStatusRequest : public HttpsRequest
+{
+public:
+ SetStatusRequest(const char *regToken, bool status) :
+ HttpsRequest(REQUEST_PUT, "client-s.gateway.messenger.live.com/v1/users/ME/presenceDocs/messagingService")
+ {
+ Headers
+ << CHAR_VALUE("Accept", "application / json, text / javascript")
+ << CHAR_VALUE("Expires", "0")
+ << FORMAT_VALUE("RegistrationToken", "registrationToken=%s", regToken)
+ << CHAR_VALUE("Content-Type", "application/json; charset = UTF-8")
+ << CHAR_VALUE("Referer", "https://web.skype.com/main")
+ << CHAR_VALUE("Origin", "https://web.skype.com")
+ << CHAR_VALUE("Connection", "keep-alive");
+
+ const char *data = status
+ ? "{\"status\":\"Online\"}"
+ : "{\"status\":\"Hidden\"}";
+ Body << VALUE(data);
+ }
+};
+
+#endif //_SKYPE_REQUEST_STATUS_H_