diff options
author | kaotisk <kaotisk@arching-kaos.org> | 2024-12-07 03:29:33 +0200 |
---|---|---|
committer | kaotisk <kaotisk@arching-kaos.org> | 2024-12-07 03:29:33 +0200 |
commit | 61e46fdc08170e0c630ff9983b87fde6890e3caf (patch) | |
tree | bcf762db121728b2d37d7545729c34da99b2cc24 /api/routes/getZblock/index.js | |
parent | 237a32846ad4a8f8634a68f0a92c71c49807de26 (diff) | |
download | arching-kaos-tools-61e46fdc08170e0c630ff9983b87fde6890e3caf.tar.gz arching-kaos-tools-61e46fdc08170e0c630ff9983b87fde6890e3caf.tar.bz2 arching-kaos-tools-61e46fdc08170e0c630ff9983b87fde6890e3caf.zip |
New routes and fixes
Diffstat (limited to 'api/routes/getZblock/index.js')
-rw-r--r-- | api/routes/getZblock/index.js | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/api/routes/getZblock/index.js b/api/routes/getZblock/index.js deleted file mode 100644 index 9826c8b..0000000 --- a/api/routes/getZblock/index.js +++ /dev/null @@ -1,66 +0,0 @@ -const { spawn } = require('child_process'); -const fs = require("fs"); -const config = require("../../config"); - -/* - * Returns a cached zblock - * - * Returns: - * - JSON object - * - */ -function fetchZblock(zblock, res){ - regex= /Qm[A-Za-z0-9]{44}/; - if (regex.test(zblock)){ - const command = spawn("ak-zblock",["--cache",zblock]); - - command.on("close", code => { - console.warn(`child process exited with code ${code}`); - - if ( code === 0 ) { - const path = config.cacheDir+"/fzblocks/"+zblock; - console.log(path) - try { - if(fs.existsSync(path)){ - var buffer = fs.readFileSync(path); - res.writeHead(200, {'Content-Type': 'application/json'}); - res.end(JSON.stringify(JSON.parse(buffer))); - } - } catch (error) { - res.writeHead(404, {'Content-Type': 'application/json'}); - res.end({"error":error.message}); - } - } else if ( code === 2){ - res.writeHead(404, {'Content-Type': 'application/json'}); - res.end({"error":"The roof is on fire"}); - } else { - res.writeHead(404, {'Content-Type': 'application/json'}); - res.end({"error":"invalid or unreachable"}); - } - }); - } else { - res.writeHead(404, {'Content-Type': 'application/json'}); - res.end(JSON.stringify({error:"Invalid data: regexp failed to pass"})); - } -}; - -module.exports = (req, res) => { - var args = req.url.split("/"); - if ( (args[2] === 'zblock') && args[3] && typeof args[3] === "string" && args[3].length === 46 ){ - regex= /Qm[A-Za-z0-9]{44}/; - if (regex.test(args[3])){ - if (args[3] === "QmbFMke1KXqnYyBBWxB74N4c5SBnJMVAiMNRcGu6x1AwQH" ){ - res.writeHead(404, {'Content-Type': 'application/json'}); - res.end(JSON.stringify({error:"Genesis block"})); - } else { - fetchZblock(args[3],res); - } - } else { - res.writeHead(404, {'Content-Type': 'application/json'}); - res.end(JSON.stringify({error:"Invalid data: regexp failed to pass"})); - } - } else { - res.writeHead(404, {'Content-Type': 'application/json'}); - res.end(JSON.stringify({error:"Invalid data: no valid zblock was provided"})); - } -} |