UNPKG

frontier-client

Version:

A Frontier authentication client for JavaScript applications

26 lines (25 loc) 880 B
var request = require('superagent'), async = require('async'), _ = require('lodash'), BasicCache = require('../caches/BasicCache'), url = require('url'); require('../extensions/superagent-frontier')(request); module.exports = function(application) { var cache = new BasicCache('account', application.store); return { get: function(query, callback) { request.get(url.resolve(application.server, 'api/' + application.appid + '/' + query)) .sign(application) .cache(cache, /[!+-,]/.test(query) ? null : query) .end(function(err, res) { if(err) return callback(err); if(res.statusCode === 404) return callback(null, /[!+-]/.test(query) ? {} : null); if(res.statusCode !== 200) return callback(res.body, res); return callback(null, res.body); }); }, purge: function(username, callback) { cache.clear(username, callback); } } };