var join = require('path').join, host = require('../include/meta.js').host, apiVersion = require('../include/meta.js').apiVersion; // Make http options for feed object exports.makeFeedOptions = function(method, feedID, parameters) { var path, query = '', i = 0; path = join('/', apiVersion, 'feeds', feedID || ''); if (parameters) { parameters.forEach(function(p) { query += p.key; query += '='; query += p.value; if (i < parameters.length - 1) { query += '&'; } i++; }); } return {host:host, port:80, path:path, query:query, method:method}; }; // Make http options for Stream object exports.makeStreamOptions = function(method, feedID, streamID) { var path, query = ''; path = join('/', apiVersion, 'feeds', feedID, 'datastreams', streamID || ''); return {host:host, port:80, path:path, query:query, method:method}; }; // Make http options for Point object exports.makePointOptions = function(method, feedID, streamID, timestamp) { var path, query = ''; path = join('/', apiVersion, 'feeds', feedID, 'datastreams', streamID, 'datapoints', timestamp || ''); return {host:host, port:80, path:path, query:query, method:method}; }; // Make http options for Trigger object exports.makeTriggerOptions = function(method, triggerID) { var path, query = ''; path = join('/', apiVersion, 'tirggers', triggerID || ''); return {host:host, port:80, path:path, query:query, method:method}; }; // Make http options for User object exports.makeUserOptions = function(method, userLogin) { var path, query = ''; path = join('/', apiVersion, 'users', userLogin || ''); return {host:host, port:80, path:path, query:query, method:method}; }; // Make http options for Key object exports.makeKeyOptions = function(method, env, envID, keyID) { var path, query = ''; var feed, stream = '', point= ''; // feeds/feed_id/datastreams/stream_id/datapoints/timestamp if (env.feedID && env.streamID) { feed = join('feeds', feedID); stream = join('datastreams', streamID); point = join('datapoints', envID); } // feeds/feed_id/datastreams/stream_id else if (env.streamID && !env.feedID) { feed = join('feeds', feedID); stream = join('datastreams', envID); } // feeds/feed_id else { feed = join('feeds', envID); } path = join('/', apiVersion, feed, stream, point, 'keys', keyID || ''); return {host:host, port:80, path:path, query:query, method:method}; }; // Make http options for history method exports.makeHistoryOptions = function(method, env, envID, parameters) { var path, query = '', feed, stream = '', i = 0; // feeds/feed_id/datastreams/stream_id if (env.feedID) { feed = join('feeds', feedID); stream = join('datastreams', envID); } else { // feeds/feed_id feeed = join('feeds', envID); } // Asembling parameters parameters.forEach(function(p) { query += p.key; query += '='; query += p.value; if (i < parameters.length - 1) { query += '&'; } i++; }); return {host:host, port:80, path:path, query:query, method:method}; };