function startStreamListener(endpoint, gameId) { console.log(`Starting stream at ${endpoint}`); oboe({ method: "GET", url: `${urlStub}/${endpoint}`, headers: headersGet }) .node("!", function(data) { console.log("STREAM data : " + JSON.stringify(data.type)); if (handlers[data.type]) { let munged = { gameId: gameId }; munged = Object.assign(munged, data); handlers[data.type](munged); } }) .fail(function(errorReport) { console.error(`Failure to get ${endpoint}:`); console.error(JSON.stringify(errorReport)); // Retry setTimeout(function() { startStreamListener(endpoint, gameId); }, 10000); }); }