From 6766c10eb207ebf25482e8900ad2cbcefa49f7a8 Mon Sep 17 00:00:00 2001 From: cookys Date: Thu, 30 Nov 2017 14:19:40 +0800 Subject: [PATCH 1/2] * making HTTPClient::sendRequest can adjust uri when we reuse connection --- libraries/HTTPClient/src/HTTPClient.cpp | 40 +++++++++++++++++++++++++ libraries/HTTPClient/src/HTTPClient.h | 1 + 2 files changed, 41 insertions(+) diff --git a/libraries/HTTPClient/src/HTTPClient.cpp b/libraries/HTTPClient/src/HTTPClient.cpp index 120cb9af661..87b4bf286dd 100644 --- a/libraries/HTTPClient/src/HTTPClient.cpp +++ b/libraries/HTTPClient/src/HTTPClient.cpp @@ -373,6 +373,46 @@ int HTTPClient::sendRequest(const char * type, String payload) return sendRequest(type, (uint8_t *) payload.c_str(), payload.length()); } +/** + * sendRequest + * @param type const char * "GET", "POST", .... + * @param type const char * "/URI" + * @param payload uint8_t * data for the message body if null not send + * @param size size_t size for the message body if 0 not send + * @return -1 if no info or > 0 when Content-Length is set by server + */ +int HTTPClient::sendRequest(const char * type, uint8_t * uri,uint8_t * payload, size_t size) +{ + Serial.printf("[HTTP-Client][sendRequest] switch uri <%s> to <%s>\n",_uri.c_str(),uri); + _uri = String((char *)uri); + + // connect to server + if(!connect()) { + return returnError(HTTPC_ERROR_CONNECTION_REFUSED); + } + + if(payload && size > 0) { + addHeader(F("Content-Length"), String(size)); + } + + // send Header + if(!sendHeader(type)) { + return returnError(HTTPC_ERROR_SEND_HEADER_FAILED); + } + + // send Payload if needed + if(payload && size > 0) { + if(_tcp->write(&payload[0], size) != size) { + return returnError(HTTPC_ERROR_SEND_PAYLOAD_FAILED); + } + } + + // handle Server Response (Header) + return returnError(handleHeaderResponse()); +} + + + /** * sendRequest * @param type const char * "GET", "POST", .... diff --git a/libraries/HTTPClient/src/HTTPClient.h b/libraries/HTTPClient/src/HTTPClient.h index d51abca975e..17ff14c4d28 100644 --- a/libraries/HTTPClient/src/HTTPClient.h +++ b/libraries/HTTPClient/src/HTTPClient.h @@ -152,6 +152,7 @@ class HTTPClient int sendRequest(const char * type, String payload); int sendRequest(const char * type, uint8_t * payload = NULL, size_t size = 0); int sendRequest(const char * type, Stream * stream, size_t size = 0); + int sendRequest(const char * type, uint8_t * uri,uint8_t * payload, size_t size = 0); void addHeader(const String& name, const String& value, bool first = false, bool replace = true); From 2f8292688ee2138a3afa6f1a0f5c037bb112916e Mon Sep 17 00:00:00 2001 From: cookys Date: Wed, 6 Dec 2017 15:34:32 +0800 Subject: [PATCH 2/2] * adding node32s Arduing config menu --- boards.txt | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/boards.txt b/boards.txt index c127c4a621c..5ecb3b5d6d9 100644 --- a/boards.txt +++ b/boards.txt @@ -528,6 +528,61 @@ node32s.build.flash_size=4MB node32s.build.boot=dio node32s.build.partitions=default + +## node32s.menu.Debug.Disabled=Disabled +## node32s.menu.Debug.Disabled.build.debug_port= +## node32s.menu.Debug.Serial=Serial +## node32s.menu.Debug.Serial.build.debug_port=-DDEBUG_ESP_PORT=Serial +## node32s.menu.Debug.Serial1=Serial1 +## node32s.menu.Debug.Serial1.build.debug_port=-DDEBUG_ESP_PORT=Serial1 +## +## node32s.menu.DebugLevel.None____=None +## node32s.menu.DebugLevel.None____.build.debug_level= +## node32s.menu.DebugLevel.Core____=Core +## node32s.menu.DebugLevel.Core____.build.debug_level=-DDEBUG_ESP_CORE +## node32s.menu.DebugLevel.SSL_____=Core + SSL +## node32s.menu.DebugLevel.SSL_____.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL +## node32s.menu.DebugLevel.SSL_MEM_=Core + SSL + TLS Mem +## node32s.menu.DebugLevel.SSL_MEM_.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL -DDEBUG_TLS_MEM +## node32s.menu.DebugLevel.WiFic___=Core + WiFi +## node32s.menu.DebugLevel.WiFic___.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_WIFI +## node32s.menu.DebugLevel.WiFi____=WiFi +## node32s.menu.DebugLevel.WiFi____.build.debug_level=-DDEBUG_ESP_WIFI +## node32s.menu.DebugLevel.HTTPClient=HTTPClient +## node32s.menu.DebugLevel.HTTPClient.build.debug_level=-DDEBUG_ESP_HTTP_CLIENT +## node32s.menu.DebugLevel.HTTPClient2=HTTPClient + SSL +## node32s.menu.DebugLevel.HTTPClient2.build.debug_level=-DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_SSL +## node32s.menu.DebugLevel.HTTPUpdate=HTTPUpdate +## node32s.menu.DebugLevel.HTTPUpdate.build.debug_level=-DDEBUG_ESP_HTTP_UPDATE +## node32s.menu.DebugLevel.HTTPUpdate2=HTTPClient + HTTPUpdate +## node32s.menu.DebugLevel.HTTPUpdate2.build.debug_level=-DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_UPDATE +## node32s.menu.DebugLevel.HTTPUpdate3=HTTPClient + HTTPUpdate + Updater +## node32s.menu.DebugLevel.HTTPUpdate3.build.debug_level=-DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_UPDATER +## node32s.menu.DebugLevel.HTTPServer=HTTPServer +## node32s.menu.DebugLevel.HTTPServer.build.debug_level=-DDEBUG_ESP_HTTP_SERVER +## node32s.menu.DebugLevel.UPDATER=Updater +## node32s.menu.DebugLevel.UPDATER.build.debug_level=-DDEBUG_ESP_UPDATER +## node32s.menu.DebugLevel.OTA_____=OTA +## node32s.menu.DebugLevel.OTA_____.build.debug_level=-DDEBUG_ESP_OTA +## node32s.menu.DebugLevel.OTA2____=OTA + Updater +## node32s.menu.DebugLevel.OTA2____.build.debug_level=-DDEBUG_ESP_OTA -DDEBUG_ESP_UPDATER +## node32s.menu.DebugLevel.all_____=All +## node32s.menu.DebugLevel.all_____.build.debug_level=-DDEBUG_ESP_CORE -DDEBUG_ESP_SSL -DDEBUG_ESP_WIFI -DDEBUG_ESP_HTTP_CLIENT -DDEBUG_ESP_HTTP_UPDATE -DDEBUG_ESP_HTTP_SERVER -DDEBUG_ESP_UPDATER -DDEBUG_ESP_OTA -DDEBUG_TLS_MEM + + +node32s.menu.DebugLevel.none=None +node32s.menu.DebugLevel.none.build.code_debug=0 +node32s.menu.DebugLevel.error=Error +node32s.menu.DebugLevel.error.build.code_debug=1 +node32s.menu.DebugLevel.warn=Warn +node32s.menu.DebugLevel.warn.build.code_debug=2 +node32s.menu.DebugLevel.info=Info +node32s.menu.DebugLevel.info.build.code_debug=3 +node32s.menu.DebugLevel.debug=Debug +node32s.menu.DebugLevel.debug.build.code_debug=4 +node32s.menu.DebugLevel.verbose=Verbose +node32s.menu.DebugLevel.verbose.build.code_debug=5 + node32s.menu.FlashFreq.80=80MHz node32s.menu.FlashFreq.80.build.flash_freq=80m node32s.menu.FlashFreq.40=40MHz