function methodApi(vars, callback) { vars = typeof vars === 'object' ? vars : {}; vars.module = 'API'; vars.format = 'JSON'; vars.token_auth = app.settings.token; talk ({ method: 'GET', path: 'index.php', query: vars, callback: callback || null }); return app; }
n/a
function methodLoadSpammers(callback) { var options = { timeout: app.settings.timeout }; http.get ( 'https://github.com/piwik/referrer-spam-blacklist/raw/master/spammers.txt', options, function (err, res) { var data; if (err) { callback (err); } else { data = res.body .trim() .replace (/\s+\n/g, '\n') .split ('\n') .sort(); callback (null, data); } } ); return app; }
n/a
function methodSetup(baseURL, token, timeout) { var url = urltool.parse (baseURL, true); app.settings.baseURL = url.protocol + '//' + url.host + url.pathname.replace (/\/[^\/]+$/, '/'); // token in baseURL? app.settings.token = url.query && url.query.token_auth || null; // override with custom token, and set timeout if (typeof token === 'number') { timeout = token; } else if (token) { app.settings.token = token; } app.settings.timeout = timeout || app.settings.timeout; return app; }
n/a
function methodTrack(vars, callback) { var bulk = { requests: [] }; var i; if (app.settings.token) { bulk.token_auth = app.settings.token; } if (vars instanceof Array && vars[0] instanceof Object) { // array with objects for (i = 0; i < vars.length; i++) { bulk.requests.push (trackObject2request (vars[i])); } } else if (vars instanceof Object) { // object bulk.requests.push (trackObject2request (vars)); } talk ({ method: 'POST', path: 'piwik.php', body: JSON.stringify (bulk), callback: function (err, data) { if (err && callback) { callback (err); return; } if (data.status === 'success' && callback) { callback (null, data); } else if (callback) { callbackError ('track failed', data, null, callback); } } }); return app; }
n/a