EDIT:
@Majenko, my previous version did what I believe you are describing. The issue being I got an error that I struggled to resolve so attempted this version. The previous version is:
void SubmitHttpRequest()
{
Serial1.println("AT+CSQ");
delay(100);
ShowSerialData();
Serial1.println("AT+CGATT?");
delay(100);
ShowSerialData();
Serial1.println("AT+SAPBR=3,1,\"CONTYPE\",\"GPRS\"");//setting the SAPBR, the connection type is using gprs
delay(1000);
ShowSerialData();
Serial1.println("AT+SAPBR=3,1,\"APN\",\"everywhere\"");//setting the APN, the second need you fill in your local apn server
delay(4000);
ShowSerialData();
//Enable GPRS
Serial1.println("AT+SAPBR=1,1");
delay(2000);
ShowSerialData();
//Query if connection is setup correctly, return IP address if it is
Serial1.println("AT+SAPBR=2,1");
delay(2000);
ShowSerialData();
Serial1.println("AT+HTTPINIT"); //init the HTTP request
delay(2000);
ShowSerialData();
//Set up bearer profile identifier (NEW PART)
Serial1.println("AT+HTTPPARA=\"CID\",1");
delay(2000);
ShowSerialData();
Serial1.println("AT+HTTPPARA=\"URL\",\"https://rocky-garden-56471.herokuapp.com/breadcrum/lifecycle/register\"");// setting the httppara, the second parameter is the website you want to access
delay(3000);
ShowSerialData();
Serial1.println("AT+HTTPPARA=\"CONTENT\",\"application/json\"");
delay(3000);
ShowSerialData();
Serial1.println("AT+HTTPDATA=1000,10000");
delay(3000);
ShowSerialData();
Serial1.println("{\"device_info\":\"breadcrum-prototype-a\"}");
delay(3000);
ShowSerialData();
Serial1.println("AT+HTTPACTION=1");//submit the request //0:READ 1:POST 2:HEAD
delay(10000);//the delay is very important, the delay time is base on the return from the website, if the return datas are very large, the time required longer.
ShowSerialData();
Serial1.println("AT+HTTPREAD");// read the data from the website you access
delay(1000);
ShowSerialData();
Serial1.println("");
delay(100);
}
But the results I got from this was another error when attempting to post:
Setup CompleteAT+CSQ
+CSQ: 18,0
OK
AT+CGATT?
+CGATT: 1
OK
AT+SAPBR=3,1,"CONTYPE","GPRS"
OK
AT+SAPBR=3,1,"APN","everywhere"
OK
AT+SAPBR=1,1
OK
AT+SAPBR=2,1
+SAPBR: 1,1,"19.177.18.205"
OK
AT+HTTPINIT
OK
AT+HTTPPARA="CID",1
OK
AT+HTTPPARA="URL","https://rocky-garden-56471.herokuapp.com/breAT+HTTPPARA="CONTENT","application/json"
OK
AT+HTTPDATA=1000,10000
DOWNLOAD
ERROR
AT+HTTPREAD
OK