From 63da93e9f443a799208c8e706616a828fa528a3e Mon Sep 17 00:00:00 2001 From: schneefux Date: Sat, 5 May 2018 13:52:50 +0200 Subject: move request param generation to own file, retry failed queries --- api.js | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'api.js') diff --git a/api.js b/api.js index 3e65d66..30b4937 100644 --- a/api.js +++ b/api.js @@ -1,17 +1,17 @@ #!/usr/bin/node -const requestP = require('request-promise') - Future = require('fluture'); +const requestP = require('request-promise'), + config = require('./config'), + Future = require('fluture'), + FutureRetry = require('fluture-retry'); -const API_KEY = process.env.API_KEY || require('./secret').apikey, - API_BASE = 'https://api.dc01.gamelockerapp.com', - API_TIMEOUT = 1; // seconds +const API_KEY = process.env.API_KEY || require('./secret').apikey; const requestF = Future.encaseP(requestP); function apiRequest(path, query) { - return requestF({ - uri: API_BASE + path, + return FutureRetry.retryLinearly(requestF({ + uri: config.api.baseUrl + path, headers: { 'X-Title-Id': 'semc-vainglory', 'Authorization': API_KEY @@ -20,20 +20,20 @@ function apiRequest(path, query) { json: true, gzip: true, forever: true, - timeout: API_TIMEOUT*1000, + timeout: config.api.timeout * 1000, strictSSL: true - }); + })); } function awsRequest(url) { - return requestF({ + return FutureRetry.retryLinearly(requestF({ uri: url, json: true, gzip: true, forever: true, - timeout: API_TIMEOUT*1000, + timeout: config.api.timeout * 1000, strictSSL: true - }); + })); } module.exports = { -- cgit v1.3.1