Espruino で HTTP GET リクエストは例があるので簡単にできる。POST でデータ送信する例がなかったので、調べたメモ。
var data = JSON.stringify({"metrics1":10.0});
var request = require("http").request(
{host:"harvest.soracom.io", method:"POST", path:"/", headers:{
"content-type":"application/json",
"content-length": data.length,
"connection":"close"
}},
response=>{
var content = "";
response.on("data", data=>{
content += data;
});
response.on("close", ()=>{
console.log(content);
});
response.on("error", err=>{
console.log("error", err);
});
});
request.write(data);
request.end();
Content-length
は、サーバ側の実装の都合上、たいてい必要になる。Connection: close
は、開発時サーバが single thread の時のための安全設定。