summaryrefslogtreecommitdiff
path: root/backend/api.js
diff options
context:
space:
mode:
authorschneefux <schneefux+commit@schneefux.xyz>2018-05-07 09:06:04 +0200
committerschneefux <schneefux+commit@schneefux.xyz>2018-05-07 09:06:04 +0200
commit5caf4e48174533710243e8eeaf52567795ec9d01 (patch)
tree1396f09bd14c3c4e1af3164ef924f2190b3f949f /backend/api.js
parentded191658af266a764332b9a1b72d628de3d5b6e (diff)
downloadbrokentalents-5caf4e48174533710243e8eeaf52567795ec9d01.tar.gz
brokentalents-5caf4e48174533710243e8eeaf52567795ec9d01.zip
move files to backend subdir, push data in submodule
Diffstat (limited to 'backend/api.js')
-rw-r--r--backend/api.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/backend/api.js b/backend/api.js
new file mode 100644
index 0000000..30b4937
--- /dev/null
+++ b/backend/api.js
@@ -0,0 +1,42 @@
+#!/usr/bin/node
+
+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;
+
+const requestF = Future.encaseP(requestP);
+
+function apiRequest(path, query) {
+ return FutureRetry.retryLinearly(requestF({
+ uri: config.api.baseUrl + path,
+ headers: {
+ 'X-Title-Id': 'semc-vainglory',
+ 'Authorization': API_KEY
+ },
+ qs: query,
+ json: true,
+ gzip: true,
+ forever: true,
+ timeout: config.api.timeout * 1000,
+ strictSSL: true
+ }));
+}
+
+function awsRequest(url) {
+ return FutureRetry.retryLinearly(requestF({
+ uri: url,
+ json: true,
+ gzip: true,
+ forever: true,
+ timeout: config.api.timeout * 1000,
+ strictSSL: true
+ }));
+}
+
+module.exports = {
+ apiRequest,
+ awsRequest,
+};