function Agent() { this._defaults = []; } ["use", "on", "once", "set", "query", "type", "accept", "auth", "withCredentials", "sortQuery", "retry", "ok", "redirects", "timeout", "buffer", "serialize", "parse", "ca", "key", "pfx", "cert"].forEach(function(fn) { /** Default setting for all requests from this agent */ Agent.prototype[fn] = function(/*varargs*/) { this._defaults.push({fn:fn, arguments:arguments}); return this; } }); Agent.prototype._setDefaults = function(req) { this._defaults.forEach(function(def) { req[def.fn].apply(req, def.arguments); }); }; module.exports = Agent;