From 76f07471e6516e76c758bd38d1a311904ee640b4 Mon Sep 17 00:00:00 2001 From: "karl.hudgell" Date: Tue, 23 Jun 2020 11:29:19 +0100 Subject: [PATCH] add cache to api calls --- app.js | 9 +++++++-- package-lock.json | 14 ++++++++++++++ package.json | 1 + 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/app.js b/app.js index a2f31d8..5951d0e 100644 --- a/app.js +++ b/app.js @@ -1,6 +1,10 @@ require('dotenv').config(); var request = require("request"); +cachedRequest = require('cached-request')(request) +cacheDirectory = "./cache"; +cachedRequest.setCacheDirectory(cacheDirectory); + const logger = require('perfect-logger'); const TelegramBot = require('node-telegram-bot-api'); @@ -70,10 +74,11 @@ bot.on('message', (msg) => { 'x-rapidapi-host': 'football-pro.p.rapidapi.com', 'x-rapidapi-key': process.env.RAPIDAPI_API_KEY, useQueryString: true - } + }, + ttl: 86400 //3 seconds }; - request(options, function (error, response, body) { + cachedRequest(options, function (error, response, body) { if (error) throw new Error(error); // console.log(body); diff --git a/package-lock.json b/package-lock.json index 4ec759c..ea25466 100644 --- a/package-lock.json +++ b/package-lock.json @@ -79,6 +79,15 @@ "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" }, + "cached-request": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/cached-request/-/cached-request-2.0.1.tgz", + "integrity": "sha512-7kqn3aFWOhZrDAIXCnSETWsyHPr71QkmtK5sRABP0SJgeIdkOj31Qje7k9Q8+a8p2WvGoUJECyQGn/KF0qoBhw==", + "requires": { + "graceful-fs": "^4.0.0", + "mkdirp": "^0.5.1" + } + }, "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", @@ -288,6 +297,11 @@ "minimatch": "0.3" } }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + }, "growl": { "version": "1.9.2", "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz", diff --git a/package.json b/package.json index 598b8df..9259c35 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "author": "", "license": "ISC", "dependencies": { + "cached-request": "^2.0.1", "dotenv": "^8.2.0", "node-telegram-bot-api": "^0.50.0", "perfect-logger": "^2.0.1",