diff options
| author | kaotisk <kaotisk@arching-kaos.org> | 2024-11-20 11:48:10 +0200 | 
|---|---|---|
| committer | kaotisk <kaotisk@arching-kaos.org> | 2024-11-20 11:48:10 +0200 | 
| commit | 59afc2bc737f4c9edf32cc1ee05e81b99f0eeb2f (patch) | |
| tree | 25582bbe1d97b22029c298207a455fda871026a4 /api/routes/getMap | |
| parent | 4aa29c28f54704c3fdba9ba432916ad340447c61 (diff) | |
| download | arching-kaos-tools-59afc2bc737f4c9edf32cc1ee05e81b99f0eeb2f.tar.gz arching-kaos-tools-59afc2bc737f4c9edf32cc1ee05e81b99f0eeb2f.tar.bz2 arching-kaos-tools-59afc2bc737f4c9edf32cc1ee05e81b99f0eeb2f.zip  | |
Implements the following routes to the API
- /leaf
- /chunk
- /map
Diffstat (limited to 'api/routes/getMap')
| -rw-r--r-- | api/routes/getMap/index.js | 35 | 
1 files changed, 35 insertions, 0 deletions
diff --git a/api/routes/getMap/index.js b/api/routes/getMap/index.js new file mode 100644 index 0000000..fa834ab --- /dev/null +++ b/api/routes/getMap/index.js @@ -0,0 +1,35 @@ +/* + * Receives an SHA512SUM as a map's hash and if exists it + * returns the map's content + * + */ + +const fs = require('fs'); +const config = require("../../config.js"); + +module.exports = (req, res) => { +    var args = req.url.split("/"); +    var hash = args[3]; +    regex= /[a-f0-9]{128}/ +    if (regex.test(hash)) +    { +        var path = config.mapsDir+"/"+hash; +        try +        { +            if(fs.existsSync(path)) +            { +                res.send(fs.readFileSync(path)); +            } +        } +        catch (error) +        { +            res.send({"error":error.message}); +        } +    } +    else +    { +        res.writeHead(404, {'Content-Type': 'application/json'}); +        res.end(JSON.stringify({error:"No hash"})); +    } +} +  | 
