kulmapaikka-ircbot/penaapi.js

53 lines
1.0 KiB
JavaScript

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;
}
};
};