Read the statement by Michael Teeuw here.
How to pass extra variable to a Https Get Request
-
Hello everyone,
I’m pretty new to NodeJS, but I’m working on a module for the Home automation JEEDOM.
I’m stuck at being able to do a simple GET and having the context during async GET response in order to know from where my request came fromvar req = https.get("https://JEEDOMURL/core/api/jeeApi.php?apikey=...&type=cmd&id=127"); req.idx = "127"; req.on("response", function(res){ res.on('data', (d) => { console.log("DEBUG : " + req.idx +" / "+ typeof (d)); console.log("DEBUG : " + req.idx +" / "+ d); }) }); var req = https.get("https://JEEDOMURL/core/api/jeeApi.php?apikey=...&type=cmd&id=695"); req.idx = "695"; req.on("response", function(res){ res.on('data', (d) => { console.log("DEBUG : " + req.idx +" / "+ typeof (d)); console.log("DEBUG : " + req.idx +" / "+ d); }) });
With no surprise I’m getting
DEBUG : 695 / object
DEBUG : 695 / 5515
DEBUG : 695 / object
DEBUG : 695 / 19.8instead of getting
DEBUG : 695 / object
DEBUG : 127 / 5515
DEBUG : 695 / object
DEBUG : 695 / 19.8I know that is expected by JS async guru, but How can I explicitly pass a variable and getting my http get DATA synchronize.
I’ve read a lot of module code, and unfortunately for me JEEDOM is not giving me any context information in the GET answer
https://JEEDOMURL/core/api/jeeApi.php?apikey=...&type=cmd&id=127" is only responding 5515
and https://JEEDOMURL/core/api/jeeApi.php?apikey=...&type=cmd&id=695" is responding 19.8Any help would be appreciate ?
Thanks in advance for your time.
I’m really stuck, and I don’t want to parse the URL to get back my ID.