Hello, I'm working on a project where I'm building some IoT devices for a university project. I have to implement cURL and I'm running into some trouble translating the code to C in the Arduino IDE. I have not been able to connect my devices to my API and I have a hunch it might have to do with the HTTP code I am using to match the cURL. I am using the Adafruit Huzzah ESP8266 and I am using the ESP8266WiFi and ESP8266HTTPClient libraries as well. Any help would be appreciated. Thank you!
Here are the lines I'm trying to implement:
curl -X POST \ https://<host>:<port>/api/v1/provision/devices/register \
-H 'Authorization: Bearer <JWT_TOKEN>' \
-H 'Content-Type: application/json' \
-H 'X-Device-ID: ABC-1235686759' \
-d '{ "type": "ABC", "serialNumber": "12345", "uuid":"1235686759" }'
Here is my code for the device:
HTTPClient http; //Declare object of class HTTPClient
http.begin("http://dev1.testcloud.com:8080/api/v1/provision/devices/register"); //Specify request destination
http.addHeader("Authorization:", "Bearer <JWT_TOKEN>");
http.addHeader("x-Device-ID:", "ABC-1235686759");
payloadJ= jwt.encodeJWT(holder);//payload signed with public key
int httpCode = http.POST(payloadJ); //Send the request
String payloadS = http.getString(); //Get the response payload
Serial.println(httpCode); //Print HTTP return code
Serial.println(payloadS); //Print request response payload
http.end(); //Close connection