index.js
1 const settings = require('../settings'); 2 const {Router} = require('express'); 3 const cors = require('cors'); 4 const hi = require('./default'); 5 const seeNSEntriesFile = require('./showNSEntriesFile'); 6 const seeEntriesFile = require('./showEntriesFile'); 7 const getSLatest = require('./getSLatest'); 8 const getZLatest = require('./getZLatest'); 9 const getSBlock = require('./getSBlock'); 10 const getZChain = require('./getZChain'); 11 const announceZBlock = require('./announceZBlock'); 12 const announceZChain = require('./announceZChain'); 13 const getZblock = require('./getZblock'); 14 const getMrk = require('./getMrk'); 15 const getTr = require('./getTr'); 16 const getNodeInfo = require('./getNodeInfo'); 17 const getPeers = require('./getPeers'); 18 const getInnerIPFSContent = require('./getInnerIPFSContent'); 19 const corsOptions = { 20 origin: '*', 21 optionsSuccessStatus: 200 // some legacy browsers (IE11, various SmartTVs) choke on 204 22 }; 23 const router = new Router(); 24 // Basic route, welcomes and provides the available routes to the visitor 25 router.route('/').get(hi); 26 27 /* 28 * Replies with contents of files 29 * 30 */ 31 // Gathered zchain zlatest pairs 32 router.route(settings.URL_PREFIX+'/seens').get(seeNSEntriesFile); 33 // Gathered zblocks 34 router.route(settings.URL_PREFIX+'/see').get(seeEntriesFile); 35 // Latest known mined block 36 router.route(settings.URL_PREFIX+'/slatest').get(getSLatest); 37 // Shows a mined block (provided that /sblock?sblock=SHA512 hash) 38 router.route(settings.URL_PREFIX+'/sblock/:sblock').get(getSBlock); 39 // Outputs node's local chain 40 router.route(settings.URL_PREFIX+'/zchain').get(getZChain); 41 // Returns latest zblock from node's local chain 42 router.route(settings.URL_PREFIX+'/zlatest').get(getZLatest); 43 // Returns local node's info 44 router.route(settings.URL_PREFIX+'/node_info').get(getNodeInfo); 45 // Returns local node's peers 46 router.route(settings.URL_PREFIX+'/peers').get(getPeers); 47 // Returns content 48 router.route(settings.URL_PREFIX+'/content').get(getInnerIPFSContent); 49 // Returns zblock 50 router.route(settings.URL_PREFIX+'/zblock/:zblock').get(getZblock); 51 // Returns a mrk 52 router.route(settings.URL_PREFIX+'/mrk/:mrk').get(getMrk); 53 // Returns a tr 54 router.route(settings.URL_PREFIX+'/tr/:tr').get(getTr); 55 // Send a block to the node (zchain block) 56 router.route(settings.URL_PREFIX+'/announce/zblock').post(announceZBlock); 57 // Send a zchain link to the node (refering to a valid zchain out there) 58 router.route(settings.URL_PREFIX+'/announce/zchain').post(announceZChain); 59 60 router.route('/*').get((req,res)=>{console.log(req.url);res.send({error:"404"})}); 61 router.route('/*').post((req,res)=>{console.log(req.url);res.send({error:"404"})}); 62 router.route('/*').put((req,res)=>{console.log(req.url);res.send({error:"404"})}); 63 router.route('/*').delete((req,res)=>{console.log(req.url);res.send({error:"404"})}); 64 router.route('/*').patch((req,res)=>{console.log(req.url);res.send({error:"404"})}); 65 module.exports = router;