From dab54b54f5cf3aff1f1e57f7ce0d27892744c83f Mon Sep 17 00:00:00 2001 From: Redume Date: Thu, 14 Mar 2024 11:18:50 +0300 Subject: [PATCH] =?UTF-8?q?=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20=D1=8E=D0=B7=D0=B5=D1=80=20=D0=B0=D0=B3=D0=B5=D0=BD?= =?UTF-8?q?=D1=82=20=D0=B8=20=D0=BF=D1=80=D0=B8=20=D0=BE=D1=88=D0=B8=D0=B1?= =?UTF-8?q?=D0=BA=D0=B5=20=D0=BF=D0=BE=20=D0=B8=D0=B4=D0=B5=D0=B8=20=D0=B4?= =?UTF-8?q?=D0=BE=D0=BB=D0=B6=D0=BD=D0=BE=20=D0=BF=D0=BE=D0=B2=D1=82=D0=BE?= =?UTF-8?q?=D1=80=D1=8F=D1=82=D1=81=D1=8F=20=D0=B7=D0=B0=D0=BF=D1=80=D0=BE?= =?UTF-8?q?=D1=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + utils/saveRate.js | 18 +++++++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 7c94f55..1590730 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,7 @@ "license": "LGPL-3.0-only", "dependencies": { "axios": "^1.6.7", + "axios-retry": "^4.0.0", "fastify": "^4.26.1", "node-schedule": "^2.1.1", "pg": "^8.11.3", diff --git a/utils/saveRate.js b/utils/saveRate.js index 0b7ca95..851782c 100644 --- a/utils/saveRate.js +++ b/utils/saveRate.js @@ -1,8 +1,9 @@ -const pool = require("../postgresql.js"); -const yaml = require("yaml") -const fs = require("fs"); -const axios = require("axios"); -const config = yaml.parse(fs.readFileSync("./config.yaml", "utf-8")); +const pool = require('../postgresql.js'); +const yaml = require('yaml'); +const fs = require('fs'); +const axios = require('axios'); +const axiosRetry = require('axios-retry').default +const config = yaml.parse(fs.readFileSync('./config.yaml', 'utf-8')); async function saveRate() { config['currency'].forEach( @@ -12,6 +13,9 @@ async function saveRate() { `https://duckduckgo.com/js/spice/currency/1/${value}/${pair}`, { timeout: 3000, + headers: { + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36' + } } ); @@ -27,6 +31,10 @@ async function saveRate() { } } + axiosRetry(axios, { + retries: 3 + }) + const data = JSON.parse(res.data.replace('ddg_spice_currency(', '').replace(');', '')); delete data['terms']; delete data['privacy'];