summaryrefslogtreecommitdiff
path: root/protocols/Slack/src/api
diff options
context:
space:
mode:
authoraunsane <aunsane@gmail.com>2017-03-16 00:52:31 +0300
committeraunsane <aunsane@gmail.com>2017-03-16 00:52:31 +0300
commit69c00c5b8999f66f27475342c78cc4488959e8bb (patch)
tree89046c469bd8337e2c191d348d47bceb69a49ee0 /protocols/Slack/src/api
parentc84b27ebb4eaa5327c601f0b504249bf061ef3b5 (diff)
Slack: some improvements
Diffstat (limited to 'protocols/Slack/src/api')
-rw-r--r--protocols/Slack/src/api/api_oauth.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/protocols/Slack/src/api/api_oauth.h b/protocols/Slack/src/api/api_oauth.h
new file mode 100644
index 0000000000..cc1c35ae3e
--- /dev/null
+++ b/protocols/Slack/src/api/api_oauth.h
@@ -0,0 +1,35 @@
+#ifndef _SLACK_API_OAUTH_H_
+#define _SLACK_API_OAUTH_H_
+
+class OAuhtAccessRequest : public HttpRequest
+{
+public:
+ OAuhtAccessRequest(const char *code, const char *state = NULL) :
+ HttpRequest(HttpMethod::HttpPost, SLACK_API_URL "/oauth.access")
+ {
+ Headers
+ << CHAR_VALUE("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
+ Content
+ << CHAR_VALUE("client_id", SLACK_CLIENT_ID)
+ << CHAR_VALUE("client_secret", SLACK_CLIENT_SECRET)
+ << ENCODED_VALUE("code", code)
+ << ENCODED_VALUE("state", state)
+ << ENCODED_VALUE("redirect_uri", SLACK_REDIRECT_URL);
+ }
+};
+
+class AuthRevokeRequest : public HttpRequest
+{
+public:
+ AuthRevokeRequest(const char *token) :
+ HttpRequest(HttpMethod::HttpPost, SLACK_API_URL "/auth.revoke")
+ {
+ timeout = 1; // in seconds?
+ Headers
+ << CHAR_VALUE("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
+ Content
+ << CHAR_VALUE("token", token);
+ }
+};
+
+#endif //_SLACK_API_OAUTH_H_ \ No newline at end of file