Change buffer sizes to support GR-PEACH
Dependents: GR-PEACH_Azure_Speech
Fork of HTTPClient-SSL by
Revision 29:2d96cc752d19, committed 2014-08-27
- Comitter:
- ansond
- Date:
- Wed Aug 27 20:30:29 2014 +0000
- Parent:
- 28:6fbaf49cc109
- Child:
- 30:6fef375c94e6
- Commit message:
- added HTTPJson data type and created defines for increased url lengths
Changed in this revision
--- a/HTTPClient.cpp Wed Aug 27 18:10:09 2014 +0000 +++ b/HTTPClient.cpp Wed Aug 27 20:30:29 2014 +0000 @@ -16,6 +16,10 @@ * 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. */ + +// DMA: Added tunable to adapt size of larger input URLs +#define MAX_URL_HOSTNAME_LENGTH 128 +#define MAX_URL_PATH_LENGTH 128 //Debug is disabled by default #if 0 @@ -231,8 +235,8 @@ } char scheme[8]; - char host[128]; - char path[128]; + char host[MAX_URL_HOSTNAME_LENGTH]; + char path[MAX_URL_PATH_LENGTH]; int ret ;
--- a/HTTPClient.h Wed Aug 27 18:10:09 2014 +0000 +++ b/HTTPClient.h Wed Aug 27 20:30:29 2014 +0000 @@ -165,7 +165,7 @@ }; //Including data containers here for more convenience -#include "data/HTTPText.h" +#include "data/HTTPJson.h" #include "data/HTTPMap.h" #endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/data/HTTPJson.cpp Wed Aug 27 20:30:29 2014 +0000 @@ -0,0 +1,41 @@ +/* HTTPJson.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 "HTTPJson.h" + +#define OK 0 + +using std::strncpy; + +HTTPJson::HTTPJson(char* json_str) : HTTPText(json_str) +{ + +} + +HTTPJson::HTTPJson(char* json_str, size_t size) : HTTPText(json_str,size) +{ + +} + +/*virtual*/ int HTTPJson::getDataType(char* type, size_t maxTypeLen) //Internet media type for Content-Type header +{ + strncpy(type, "application/json", maxTypeLen-1); + type[maxTypeLen-1] = '\0'; + return OK; +} \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/data/HTTPJson.h Wed Aug 27 20:30:29 2014 +0000 @@ -0,0 +1,46 @@ +/* HTTPJson.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 HTTPJSON_H_ +#define HTTPJSON_H_ + +#include "HTTPText.h" + +/** A data endpoint to store JSON text +*/ +class HTTPJson : public HTTPText +{ +public: + /** Create an HTTPJson instance for output + * @param json_str JSON string to be transmitted + */ + HTTPJson(char* json_str); + + /** Create an HTTPText instance for input + * @param json_str Buffer to store the incoming JSON string + * @param size Size of the buffer + */ + HTTPJson(char* json_str, size_t size); + +protected: + virtual int getDataType(char* type, size_t maxTypeLen); //Internet media type for Content-Type header +}; + +#endif /* HTTPJSON_H_ */ \ No newline at end of file
--- a/data/HTTPText.cpp Wed Aug 27 18:10:09 2014 +0000 +++ b/data/HTTPText.cpp Wed Aug 27 20:30:29 2014 +0000 @@ -55,7 +55,7 @@ /*virtual*/ int HTTPText::getDataType(char* type, size_t maxTypeLen) //Internet media type for Content-Type header { - strncpy(type, "application/json", maxTypeLen-1); + strncpy(type, "plain/text", maxTypeLen-1); type[maxTypeLen-1] = '\0'; return OK; }