this is using the mbed os version 5-13-1

Dependencies:   mbed-http

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