Fork of OAuth4Tw to use mbed's official EthernetInterface and HTTPClient
Fork of OAuth4Tw by
oauth_data.h@1:b3501683b856, 2015-04-30 (annotated)
- Committer:
- vpcola
- Date:
- Thu Apr 30 10:19:31 2015 +0000
- Revision:
- 1:b3501683b856
Fork of OAuth4Tw to use normal EthernetInterface and HTTPClient library
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
vpcola | 1:b3501683b856 | 1 | #ifndef __OAUTHDATA_H__ |
vpcola | 1:b3501683b856 | 2 | #define __OAUTHDATA_H__ |
vpcola | 1:b3501683b856 | 3 | |
vpcola | 1:b3501683b856 | 4 | /** |
vpcola | 1:b3501683b856 | 5 | * Author : Cola Vergil |
vpcola | 1:b3501683b856 | 6 | * Email : vpcola@gmail.com |
vpcola | 1:b3501683b856 | 7 | * Date : Thu Apr 30 2015 |
vpcola | 1:b3501683b856 | 8 | **/ |
vpcola | 1:b3501683b856 | 9 | |
vpcola | 1:b3501683b856 | 10 | #include <IHTTPData.h> |
vpcola | 1:b3501683b856 | 11 | #include <string> |
vpcola | 1:b3501683b856 | 12 | |
vpcola | 1:b3501683b856 | 13 | class OAuthDataOut : public IHTTPDataOut |
vpcola | 1:b3501683b856 | 14 | { |
vpcola | 1:b3501683b856 | 15 | public: |
vpcola | 1:b3501683b856 | 16 | /** Create an HTTPText instance for output |
vpcola | 1:b3501683b856 | 17 | * @param str String to be transmitted |
vpcola | 1:b3501683b856 | 18 | */ |
vpcola | 1:b3501683b856 | 19 | OAuthDataOut(const char * contentType, const char * data); |
vpcola | 1:b3501683b856 | 20 | |
vpcola | 1:b3501683b856 | 21 | |
vpcola | 1:b3501683b856 | 22 | protected: |
vpcola | 1:b3501683b856 | 23 | //IHTTPDataOut |
vpcola | 1:b3501683b856 | 24 | virtual void readReset(); |
vpcola | 1:b3501683b856 | 25 | |
vpcola | 1:b3501683b856 | 26 | virtual int read(char* buf, size_t len, size_t* pReadLen); |
vpcola | 1:b3501683b856 | 27 | |
vpcola | 1:b3501683b856 | 28 | virtual int getDataType(char* type, size_t maxTypeLen); |
vpcola | 1:b3501683b856 | 29 | |
vpcola | 1:b3501683b856 | 30 | virtual bool getIsChunked(); |
vpcola | 1:b3501683b856 | 31 | |
vpcola | 1:b3501683b856 | 32 | virtual size_t getDataLen(); |
vpcola | 1:b3501683b856 | 33 | |
vpcola | 1:b3501683b856 | 34 | private: |
vpcola | 1:b3501683b856 | 35 | char * m_str; |
vpcola | 1:b3501683b856 | 36 | std::string m_contentType; |
vpcola | 1:b3501683b856 | 37 | size_t m_size; |
vpcola | 1:b3501683b856 | 38 | size_t m_pos; |
vpcola | 1:b3501683b856 | 39 | bool m_isChunked; |
vpcola | 1:b3501683b856 | 40 | }; |
vpcola | 1:b3501683b856 | 41 | |
vpcola | 1:b3501683b856 | 42 | class OAuthDataIn : public IHTTPDataIn |
vpcola | 1:b3501683b856 | 43 | { |
vpcola | 1:b3501683b856 | 44 | public: |
vpcola | 1:b3501683b856 | 45 | |
vpcola | 1:b3501683b856 | 46 | OAuthDataIn(char* str, size_t size); |
vpcola | 1:b3501683b856 | 47 | std::string getContentType(); |
vpcola | 1:b3501683b856 | 48 | std::string getData(); |
vpcola | 1:b3501683b856 | 49 | |
vpcola | 1:b3501683b856 | 50 | protected: |
vpcola | 1:b3501683b856 | 51 | //IHTTPDataIn |
vpcola | 1:b3501683b856 | 52 | virtual void writeReset(); |
vpcola | 1:b3501683b856 | 53 | |
vpcola | 1:b3501683b856 | 54 | virtual int write(const char* buf, size_t len); |
vpcola | 1:b3501683b856 | 55 | |
vpcola | 1:b3501683b856 | 56 | virtual void setDataType(const char* type); //Internet media type for Content-Type header |
vpcola | 1:b3501683b856 | 57 | |
vpcola | 1:b3501683b856 | 58 | virtual void setIsChunked(bool chunked); //For Transfer-Encoding header |
vpcola | 1:b3501683b856 | 59 | |
vpcola | 1:b3501683b856 | 60 | virtual void setDataLen(size_t len); //For Content-Length header |
vpcola | 1:b3501683b856 | 61 | |
vpcola | 1:b3501683b856 | 62 | private: |
vpcola | 1:b3501683b856 | 63 | char * m_str; |
vpcola | 1:b3501683b856 | 64 | std::string m_contentType; |
vpcola | 1:b3501683b856 | 65 | size_t m_size; |
vpcola | 1:b3501683b856 | 66 | size_t m_pos; |
vpcola | 1:b3501683b856 | 67 | bool m_isChunked; |
vpcola | 1:b3501683b856 | 68 | }; |
vpcola | 1:b3501683b856 | 69 | |
vpcola | 1:b3501683b856 | 70 | #endif |