From 0d4b84c1eceb1f0b0056deea843b26364eceb9f7 Mon Sep 17 00:00:00 2001 From: Fred Boniface Date: Wed, 7 Dec 2022 14:23:25 +0000 Subject: [PATCH] Getting there --- src/utils/corpus.utils.js | 28 ++++++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/src/utils/corpus.utils.js b/src/utils/corpus.utils.js index 4a92e9d..fdc4b03 100644 --- a/src/utils/corpus.utils.js +++ b/src/utils/corpus.utils.js @@ -5,7 +5,6 @@ const keys = require('/srv/keys/owlboard/keys.configs'); const axios = require('axios'); const zlib = require('zlib'); -const fs = require('fs'); async function initCorpus(){ // EXPORT - Uses getCorpus() to download the CORPUS GZIP and then processes it. let gzipData = await getCorpus(); @@ -27,10 +26,35 @@ async function getCorpus(){ // Download and return the GZIP file as an arraybuff return download; } +async function getCorpusAgain(){ //Try to get CORPUS then pipe to zlib and return uncompressed date + authHead = Buffer.from(`${keys.nr_user}:${keys.nr_pass}`).toString('base64'); + const decomp = zlib.createGunzip(); + const getReq = axios.create({ + method: 'get', + baseURL: 'https://datafeeds.networkrail.co.uk/ntrod/SupportingFileAuthenticate?type=CORPUS', + timeout: 3000, + headers: {'Authorization': `Basic ${authHead}`}, + responseType: 'arraybuffer' + }); + + let download = await getReq().then(function (response){ + return response.data; + }) + + zlib.gunzip(download, function (_err, output){ + let string = output.toString() + let obj = JSON.parse(string) + //console.log(obj); + return obj; // Find out how to get data out of callback -> See pinned tab on laptop2.ws + }) + console.log(corpus); // This doesn't work but if console.logging from the function it prints. +} + async function cleanCorpus(){ // Clean the CORPUS as per the temporary Python Script } module.exports = { - initCorpus + initCorpus, + getCorpusAgain } \ No newline at end of file