Skip to content

Commit

Permalink
more code cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
booo committed Mar 5, 2011
1 parent be7bf70 commit a4a18c4
Showing 1 changed file with 39 additions and 40 deletions.
79 changes: 39 additions & 40 deletions main.js
Original file line number Original file line Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ var acquire = function(id,options,callback) {
} }


function render(task, callback) { function render(task, callback) {

acquire(task.style.file,{idleTimeoutMillis : task.style.idleTimeoutMillis}, function(err, map) { acquire(task.style.file,{idleTimeoutMillis : task.style.idleTimeoutMillis}, function(err, map) {
if(err) { if(err) {
//call callback //call callback
Expand All @@ -62,21 +62,21 @@ function render(task, callback) {
else { else {
var bbox = mercator.xyz_to_envelope(task.x, task.y, task.z, false) var bbox = mercator.xyz_to_envelope(task.x, task.y, task.z, false)
map.render(bbox,"png",function(error,data) { map.render(bbox,"png",function(error,data) {
//console.log(data) //console.log(data)
console.log("tile rendered"); console.log("tile rendered");
if(!error) { if(!error) {
//TODO clean up tags, different values for different tiles //TODO clean up tags, different values for different tiles
var temp = { var temp = {
'data' : data.toString('base64'), 'data' : data.toString('base64'),
'timestamp' : new Date().getTime(), 'timestamp' : new Date().getTime(),
'ETag' : require('crypto').createHash('md5').update(data).digest('hex'), 'ETag' : require('crypto').createHash('md5').update(data).digest('hex'),
'Expires' : new Date(new Date().getTime()+task.style.expire).toGMTString(), 'Expires' : new Date(new Date().getTime()+task.style.expire).toGMTString(),
}; };
//call callback instead //call callback instead
writeResponse(temp,task.res) writeResponse(temp,task.res)
hdb.putAsync(task.url, JSON.stringify(temp), function(err) { hdb.putAsync(task.url, JSON.stringify(temp), function(err) {
if(err) { if(err) {
console.log(err); console.log(err);
} else { } else {
console.log("tile saved") console.log("tile saved")
} }
Expand Down Expand Up @@ -104,41 +104,40 @@ function requestHandler(req, res, style, z, x, y) {
&& y >= 0 && y < Math.pow(2,z)) { && y >= 0 && y < Math.pow(2,z)) {


hdb.getAsync(url, function(err, value) { hdb.getAsync(url, function(err, value) {
if(err) { if(err) {
var renderTask = { var renderTask = {
'url' : url, 'url' : url,
'res' : res, 'res' : res,
'style' : config.styles[style], 'style' : config.styles[style],
'z' : parseInt(z), 'z' : parseInt(z),
'x' : parseInt(x), 'x' : parseInt(x),
'y' : parseInt(y) 'y' : parseInt(y)
}; };
render(renderTask,function() {}); render(renderTask,function() {});
} }
else { else {
var content = JSON.parse(value); var content = JSON.parse(value);
//TODO changeable expire time... 1000*60*60*24 = one day //TODO changeable expire time... 1000*60*60*24 = one day
if((new Date().getTime() - content.timestamp) > config.styles[style].expire) { if((new Date().getTime() - content.timestamp) > config.styles[style].expire) {
//rerender //rerender
var renderTask = { var renderTask = {
'url' : url, 'url' : url,
'res' : res, 'res' : res,
'style' : config.styles[style], 'style' : config.styles[style],
'z' : parseInt(z), 'z' : parseInt(z),
'x' : parseInt(x), 'x' : parseInt(x),
'y' : parseInt(y) 'y' : parseInt(y)
}; };
//response is send in render function //response is send in render function
render(renderTask,function() {}); render(renderTask,function() {});
} } else {
else { //tile is not expired
//tile is not expired writeResponse(content, res);
writeResponse(content, res); }
} }
} });
});


} else { } else {
console.log("bad request") console.log("bad request")
res.writeHead(404,{}) res.writeHead(404,{})
res.end() res.end()
Expand Down

0 comments on commit a4a18c4

Please sign in to comment.