diff options
Diffstat (limited to 'api/routes/getInnerIPFSContent')
-rw-r--r-- | api/routes/getInnerIPFSContent/index.js | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/api/routes/getInnerIPFSContent/index.js b/api/routes/getInnerIPFSContent/index.js new file mode 100644 index 0000000..555d2a3 --- /dev/null +++ b/api/routes/getInnerIPFSContent/index.js @@ -0,0 +1,32 @@ +const { spawn } = require('child_process'); +const fs = require("fs"); +const config = require("../../config"); + +/* + * Gets the local latest zblock + * + * Returns: + * - JSON object + * { zlatest: "Qm..." } + * + */ +function fetchZblock(zblock, res){ + res.send(fs.readFileSync(config.workDir+"/ipfs/"+zblock)); +}; +module.exports = (req, res) => { + console.log(req.query) + if ( (req.query.ipfs) && req.query.ipfs.length === 46 ){ + regex= /Qm[A-Za-z0-9]{44}/; + if (regex.test(req.query.ipfs)){ + if (req.query.ipfs === "QmbFMke1KXqnYyBBWxB74N4c5SBnJMVAiMNRcGu6x1AwQH" ){ + res.send({errno:"Genesis block"}); + } else { + fetchZblock(req.query.ipfs,res); + } + } else { + res.send({errno:"Invalid data: regexp failed to pass"}); + } + } else { + res.send({errno:"Invalid data: no valid zblock was provided"}); + } +} |