var path = require('path'); var routeHelpers = require('../helpers/routeHelpers.js'); var lbryApi = require('../helpers/lbryApi.js'); var ua = require('universal-analytics'); var config = require('config'); var googleAnalyticsId = config.get('AnalyticsConfig.googleId'); var visitor = ua(googleAnalyticsId, {https: true}); module.exports = function(app){ // route to fetch all free public claims app.get("/:name/all", function(req, res){ console.log(">> GET request on /" + req.params.name + " (all)"); visitor.event("Claim Request", "Name/all", req.params.name + "/all").send(); // create promise lbryApi.getAllClaims(req.params.name) .then(function(orderedFreePublicClaims){ console.log("/:name/all success."); res.status(200).render('allClaims', { claims: orderedFreePublicClaims }); return; }) .catch(function(error){ console.log("/:name/all error:", error); routeHelpers.handleRequestError(error, res); }) }); // route to fetch one free public claim app.get("/:name/:claim_id", function(req, res){ visitor.event("Claim Request", "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 lbryApi.getClaimBasedOnUri(uri) .then(function(filePath){ console.log("/:name/:claim_id success."); res.status(200).sendFile(filePath); }) .catch(function(error){ console.log("/:name/:claim_id error:", error) routeHelpers.handleRequestError(error, res); }); }); // route to fetch one free public claim app.get("/:name", function(req, res){ visitor.event("Claim Request", "Name", req.params.name).send(); console.log(">> GET request on /" + req.params.name); // create promise lbryApi.getClaimBasedOnNameOnly(req.params.name) .then(function(filePath){ console.log("/:name success.") res.status(200).sendFile(filePath); }).catch(function(error){ console.log("/:name error:", error); routeHelpers.handleRequestError(error, res); }); }); // route for the home page app.get("/", function(req, res){ res.status(200).render('index'); }); // a catch-all route if someone visits a page that does not exist app.use("*", function(req, res){ res.status(404).render('fourOhFour'); }); }