var request = require('request'); var Promise = require('promise'); var requestPromise = function(url, urlArgs) { var promise = new Promise(function(resolve, reject) { request({ url: url, qs: urlArgs, json: false }, function(error, response, body) { if(!error && response.statusCode == 200) { resolve(JSON.parse(body)); } else { reject(error); } }); }); return promise; }; /** * Pena API module. * @module kulmapaikka/penaapi */ module.exports = function(config) { 'use strict'; return { /** Get temperatures from Pena API (Aura) */ getTemperatures: function(start, stop, limit) { var d = new Date(); var urlArgs = {}; if(typeof limit === 'undefined') { limit = 20; } if(typeof start !== 'undefined' && typeof stop !== 'undefined') { urlArgs.limit = limit; urlArgs.start = start; urlArgs.stop = stop; } var url = 'http://masa.dy.fi/api/temperature.php'; var promise = requestPromise(url, urlArgs); return promise; } }; };