this is using the mbed os version 5-13-1
Diff: source/WiFiManager.cpp
- Branch:
- PassingRegression
- Revision:
- 110:c722dda4f2ff
- Parent:
- 109:c274780ff609
- Child:
- 111:3ab1d9644835
--- a/source/WiFiManager.cpp Wed May 08 19:38:35 2019 +0000
+++ b/source/WiFiManager.cpp Thu May 09 13:21:12 2019 +0000
@@ -309,12 +309,12 @@
do
{
if(!queueResult){
- wait_count++;
+ wait_count+=10;
dbg_printf(LOG, "ATCMD Queue full waiting %d ms so far...\n", wait_count*10);
wait_ms(10);
}
queueResult = queueWiFiDataResponse(*at_data_resp);
- }while(queueResult == false);
+ }while(queueResult == false && wait_count<QUEUE_WAIT_TIMEOUT_MS);
delete at_data_resp;
at_data_resp = NULL;
}
@@ -335,12 +335,12 @@
do
{
if(!queueResult){
- wait_count++;
+ wait_count+=10;
wait_ms(10);
dbg_printf(LOG, "ATCMD Queue full waited %d ms so far...\n", wait_count*10);
}
queueResult = queueWiFiDataResponse(*at_data_resp);
- }while(queueResult == false);
+ }while(queueResult == false && wait_count<QUEUE_WAIT_TIMEOUT_MS);
delete at_data_resp;
at_data_resp = NULL;
dbg_printf(LOG, "[WIFI-MAN] sendATresponseBytes completed successfully\r\n");
@@ -985,9 +985,6 @@
mbed_trace_init();
#endif
socket = new TLSSocket();
- // set a 5 second timeout
- //socket->set_timeout(5000);
- //socket->set_blocking(false);
nsapi_error_t r;
// make sure to check the return values for the calls below (should return NSAPI_ERROR_OK)
r = socket->open(network);
@@ -1060,11 +1057,7 @@
int stoptime;
// reset chunk #;
chunkNum = 0;
-#ifdef MIX_HDR_AND_BODY
http_response_hdr_sent = false;
-#else
- http_response_hdr_sent = true;
-#endif
dbg_printf(LOG, "\n[WIFI MAN] Http Request received:\n");
http_req_cfg = (http_request_t *) data_msg->buffer;
#ifdef FULL_DEBUG_ENABLED
@@ -1210,7 +1203,7 @@
responseString = (char *) malloc(200);
sprintf(responseString, "Heap size= %lu / %lu bytes\r\n", heap_stats.current_size, heap_stats.reserved_size);
sendDebugMessage();
- https_request->send(http_req_cfg->body, bodyLen);
+ http_response = https_request->send(http_req_cfg->body, bodyLen);
responseString = (char *) malloc(100);
sprintf(responseString, "\r\nRETURNED FROM SENDING HTTP REQUEST\r\n");
sendDebugMessage();
@@ -1241,6 +1234,18 @@
}
https_connection_active = true; // set true whenever connection succeeds
dbg_printf(LOG, "\n----- HTTPS POST response -----\r\n");
+ }
+ if(http_response_hdr_sent == false)
+ {
+ socket->close();
+ delete socket;
+ https_connection_active = false;
+#ifdef SEND_DEBUG_MESSAGES
+ responseString = (char *) malloc(100);
+ sprintf(responseString, "\r\n[WIFI-MAN] NO RESPONSE RECEIVED:: CLOSING CURRENT TLS CONNECTION.\r\n");
+ sendDebugMessage();
+#endif
+ //return_response(http_response);
}
free_DataMsg();
delete https_request; // free the request & response memory