spee.ch/routes/serve-routes.js

58 lines
1.9 KiB
JavaScript
Raw Normal View History

function serveFile(fileInfo, res){
var options = {
root: fileInfo.directory,
2017-06-14 22:04:55 +02:00
headers: { "Content-Type": fileInfo.contentType}
};
switch (fileInfo.contentType){
case "image/jpeg":
console.log("sending jpeg");
break;
case "image/gif":
console.log("sending gif");
break;
case "image/png":
console.log("sending png");
break;
case "video/mp4":
console.log("sending mp4");
break;
default:
console.log("sending unknown file type as .jpeg");
2017-06-14 22:04:55 +02:00
options["headers"]["Content-Type"] = "image/jpeg";
break;
}
console.log('options', options);
res.status(200).sendFile(fileInfo.fileName, options);
}
2017-06-14 00:49:58 +02:00
module.exports = function(app, routeHelpers, lbryHelpers, ua, googleAnalyticsId){
2017-06-13 20:00:50 +02:00
// route to fetch one free public claim
app.get("/:name/:claim_id", function(req, res){
ua(googleAnalyticsId, {https: true}).event("Serve Route", "/name/claimId", req.params.name + "/" + req.params.claim_id).send();
var uri = req.params.name + "#" + req.params.claim_id;
console.log(">> GET request on /" + uri);
// create promise
2017-06-14 00:49:58 +02:00
lbryHelpers.getClaimBasedOnUri(uri)
.then(function(fileInfo){
console.log("/:name/:claim_id success.", fileInfo.fileName);
serveFile(fileInfo, res);
}).catch(function(error){
2017-06-13 20:00:50 +02:00
console.log("/:name/:claim_id error:", error)
routeHelpers.handleRequestError(error, res);
});
});
// route to fetch one free public claim
app.get("/:name", function(req, res){
ua(googleAnalyticsId, {https: true}).event("Serve Route", "/name", req.params.name).send();
console.log(">> GET request on /" + req.params.name);
// create promise
2017-06-14 00:49:58 +02:00
lbryHelpers.getClaimBasedOnNameOnly(req.params.name)
.then(function(fileInfo){
console.log("/:name success.", fileInfo.fileName);
serveFile(fileInfo, res);
2017-06-13 20:00:50 +02:00
}).catch(function(error){
console.log("/:name error:", error);
routeHelpers.handleRequestError(error, res);
});
});
}