Fixed compatibility for HTTPClient Library. (HTTPClient by Donatien Garnier)
Dependents: FlashAir_Twitter CyaSSL-Twitter-OAuth4Tw TweetTest NetworkThermometer ... more
Fork of OAuth4Tw by
Revision 1:0036880e6f71, committed 2014-12-14
- Comitter:
- ban4jp
- Date:
- Sun Dec 14 07:53:41 2014 +0000
- Parent:
- 0:0048b264a3ad
- Child:
- 2:a057c813fb02
- Commit message:
- Fixed compatibility for HTTPClient Library. (HTTPClient by Donatien Garnier)
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/HTTPPostText.cpp Sun Dec 14 07:53:41 2014 +0000
@@ -0,0 +1,52 @@
+/* HTTPPostText.cpp */
+/* Copyright (C) 2012 mbed.org, MIT License
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+ * and associated documentation files (the "Software"), to deal in the Software without restriction,
+ * including without limitation the rights to use, copy, modify, merge, publish, distribute,
+ * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all copies or
+ * substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+ * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#include "HTTPPostText.h"
+
+#include <cstring>
+
+#define OK 0
+
+using std::memcpy;
+using std::strncpy;
+using std::strlen;
+
+HTTPPostText::HTTPPostText(char* str) : HTTPText(str)
+{
+
+}
+
+HTTPPostText::HTTPPostText(char* str, size_t size) : HTTPText(str, size)
+{
+
+}
+
+//IHTTPDataIn
+/*virtual*/ int HTTPPostText::getDataType(char* type, size_t maxTypeLen) //Internet media type for Content-Type header
+{
+ strncpy(type, "application/x-www-form-urlencoded", maxTypeLen-1);
+ type[maxTypeLen-1] = '\0';
+ return OK;
+}
+
+//IHTTPDataOut
+/*virtual*/ void HTTPPostText::setDataType(const char* type) //Internet media type from Content-Type header
+{
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/HTTPPostText.h Sun Dec 14 07:53:41 2014 +0000
@@ -0,0 +1,51 @@
+/* HTTPPostText.h */
+/* Copyright (C) 2012 mbed.org, MIT License
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+ * and associated documentation files (the "Software"), to deal in the Software without restriction,
+ * including without limitation the rights to use, copy, modify, merge, publish, distribute,
+ * sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all copies or
+ * substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+ * BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+
+#ifndef HTTPPostText_H_
+#define HTTPPostText_H_
+
+#include "data/HTTPText.h"
+
+/** A data endpoint to store text
+*/
+class HTTPPostText : public HTTPText
+{
+public:
+ /** Create an HTTPPostText instance for output
+ * @param str String to be transmitted
+ */
+ HTTPPostText(char* str);
+
+ /** Create an HTTPPostText instance for input
+ * @param str Buffer to store the incoming string
+ * @param size Size of the buffer
+ */
+ HTTPPostText(char* str, size_t size);
+
+protected:
+ //IHTTPDataIn
+ virtual int getDataType(char* type, size_t maxTypeLen); //Internet media type for Content-Type header
+
+ //IHTTPDataOut
+ virtual void setDataType(const char* type); //Internet media type from Content-Type header
+
+};
+
+#endif /* HTTPPostText_H_ */
--- a/oauth_http.cpp Mon Dec 12 18:47:10 2011 +0000
+++ b/oauth_http.cpp Sun Dec 14 07:53:41 2014 +0000
@@ -34,6 +34,9 @@
#include "oauth.h"
#include <HTTPClient.h>
+#include "HTTPPostText.h"
+
+static char res_buffer[1024] = "";
/* wrapper functions */
@@ -52,10 +55,9 @@
std::string oauth_http_post(const char *u, const char *p)
{
HTTPClient http;
- HTTPText req("application/x-www-form-urlencoded");
- HTTPText res;
- req.set(p);
+ HTTPPostText req((char *)p, strlen(p) + 1);
+ HTTPText res(res_buffer, sizeof(res_buffer));
http.post(u, req, &res);
- return res.get();
+ return res_buffer;
}
ban4jp -
