Fixed compatibility for HTTPClient Library. (HTTPClient by Donatien Garnier)

Dependents:   FlashAir_Twitter CyaSSL-Twitter-OAuth4Tw TweetTest NetworkThermometer ... more

Fork of OAuth4Tw by Masayoshi Takahashi

Revision:
4:1ecf49a46040
Parent:
3:c28b796ef7ed
Child:
5:5146becb651f
--- a/OAuth4Tw.cpp	Wed Jul 08 03:52:54 2015 +0000
+++ b/OAuth4Tw.cpp	Wed Jul 08 14:32:26 2015 +0000
@@ -5,34 +5,45 @@
 #include <HTTPClient.h>
 #include "HTTPPostText.h"
 
-static char res_buffer[1024] = "";
-
 OAuth4Tw::OAuth4Tw(const char *c_key, const char *c_secret,
-        const char *t_key, const char *t_secret)
-        :consumer_key(c_key),
+                   const char *t_key, const char *t_secret)
+    :consumer_key(c_key),
      consumer_secret(c_secret),
      token_key(t_key),
      token_secret(t_secret) { }
 
-std::string OAuth4Tw::url_escape(const char *str) {
+std::string OAuth4Tw::url_escape(const char *str)
+{
     return oauth_url_escape(str);
 }
 
-std::string OAuth4Tw::post(const char *uri, std::string postarg) {
-
+HTTPResult OAuth4Tw::get(const char *uri, IHTTPDataIn *response, int timeout /*= HTTP_CLIENT_DEFAULT_TIMEOUT*/)
+{
     std::string req_url;
-    
-    req_url = oauth_sign_url2(uri, &postarg, OA_HMAC, 0,
-            consumer_key, consumer_secret, token_key, token_secret);
 
-    const char *u = req_url.c_str();
-    const char *p = postarg.c_str();
-    
+    req_url = oauth_sign_url2(uri, NULL, OA_HMAC, 0,
+                              consumer_key, consumer_secret,
+                              token_key, token_secret);
+
     HTTPClient http;
-    HTTPPostText req((char *)p, strlen(p) + 1);
-    HTTPText res(res_buffer, sizeof(res_buffer));
-    http.post(u, req, &res);
+    HTTPResult r = http.get(req_url.c_str(), response);
 
-    return res_buffer;
+    return r;
 }
 
+HTTPResult OAuth4Tw::post(const char *uri, std::string postargs, IHTTPDataIn *response, int timeout /*= HTTP_CLIENT_DEFAULT_TIMEOUT*/)
+{
+    std::string req_url;
+
+    req_url = oauth_sign_url2(uri, &postargs, OA_HMAC, 0,
+                              consumer_key, consumer_secret,
+                              token_key, token_secret);
+
+    const char *poststr = postargs.c_str();
+
+    HTTPClient http;
+    HTTPPostText request((char *)poststr, strlen(poststr) + 1);
+    HTTPResult r = http.post(req_url.c_str(), request, response);
+
+    return r;
+}