53 lines
1.0 KiB
JavaScript
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;
|
|
}
|
|
};
|
|
};
|