I make a website for dogs.
I'm also starting a tiny farm.
Because, chickens.
var http_callback = function(response) {
var img = '';
response.setEncoding('binary');
response.on('data', function (chunk) { img += chunk; });
response.on('end', function () {
latest_image = img;
latest_image_timestamp = +(new Date());
setTimeout(updateImage, REFRESH_INTERVAL);
});
};
function updateImage () {
if(( +(new Date()) - last_request ) > PAUSE_TIMEOUT) {
setTimeout(updateImage, PAUSE_INTERVAL);
}
else {
http
.request(http_options, http_callback)
.on('error', function (e) {
setTimeout(updateImage, BACKOFF_INTERVAL);
})
.end();
}
}
var server = http.createServer(function (request, response) {
if( DEBUG ) { console.log('Incoming Request:', request.url); }
if(request.url === '/') {
// ...
}
else if (request.url.substr(0, 6) === '/image') {
last_request = +(new Date());
frames_served++;
response.writeHead(200, {"Content-Type": "image/jpeg"});
response.end(latest_image, 'binary');
}
else {
response.writeHead(404, {'Content-Type': 'text/plain'});
response.end('404 - Not Found');
}
});
$chicken_cam.on('load', function () {
$('#error-message, #sad').hide();
$chicken_cam.show();
setTimeout(update, {{UPDATE_INTERVAL}});
});
$chicken_cam.on('error', function () {
$('#error-message, #sad').show();
$chicken_cam.hide();
setTimeout(update, {{ERROR_RETRY_TIMEOUT}});
});
function update () {
$chicken_cam.attr('src', '/image?t=' + (+new Date()));
}
update();
socket.io
Error Handling