UNPKG

troopclient

Version:

Client component for troop style backend svc

76 lines (63 loc) 1.4 kB
var request = require("request"); var when = require("when"); module.exports.get = function (url, cookieHeader) { var deferred = when.defer(); request({ "url": url, "method": "GET", "jar": createCookieJar(cookieHeader) }, function(error, response, body) { if(response && response.statusCode == 200) { deferred.resolve(body); } else { deferred.reject(); } }); return deferred.promise; } module.exports.post = function (url, formData, cookieHeader) { var deferred = when.defer(); request({ "url": url, "method": "POST", "form": formData, "jar": createCookieJar(cookieHeader) }, function(error, response, body) { if(response && response.statusCode == 200) { deferred.resolve(body); } else { deferred.reject(); } }); return deferred.promise; } module.exports.postJson = function (url, json, cookieHeader) { var deferred = when.defer(); request({ "url": url, "method": "POST", "json": json, "jar": createCookieJar(cookieHeader) }, function(error, response, body) { if(response && response.statusCode == 200) { deferred.resolve(body); } else { deferred.reject(); } }); return deferred.promise; } function createCookieJar (cookieHeader) { var jar = request.jar(); var cookie; if(cookieHeader) { cookieHeader.forEach(function(item) { cookie = request.cookie(item); jar.add(cookie); }) } return jar; }