1 | ;
|
2 |
|
3 | function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
4 |
|
5 | function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
6 |
|
7 | function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
8 |
|
9 | /**
|
10 | * Module dependencies.
|
11 | */
|
12 | // eslint-disable-next-line node/no-deprecated-api
|
13 | const _require = require('url'),
|
14 | parse = _require.parse;
|
15 |
|
16 | const _require2 = require('cookiejar'),
|
17 | CookieJar = _require2.CookieJar;
|
18 |
|
19 | const _require3 = require('cookiejar'),
|
20 | CookieAccessInfo = _require3.CookieAccessInfo;
|
21 |
|
22 | const methods = require('methods');
|
23 |
|
24 | const request = require('../..');
|
25 |
|
26 | const AgentBase = require('../agent-base');
|
27 | /**
|
28 | * Expose `Agent`.
|
29 | */
|
30 |
|
31 |
|
32 | module.exports = Agent;
|
33 | /**
|
34 | * Initialize a new `Agent`.
|
35 | *
|
36 | * @api public
|
37 | */
|
38 |
|
39 | function Agent(options) {
|
40 | if (!(this instanceof Agent)) {
|
41 | return new Agent(options);
|
42 | }
|
43 |
|
44 | AgentBase.call(this);
|
45 | this.jar = new CookieJar();
|
46 |
|
47 | if (options) {
|
48 | if (options.ca) {
|
49 | this.ca(options.ca);
|
50 | }
|
51 |
|
52 | if (options.key) {
|
53 | this.key(options.key);
|
54 | }
|
55 |
|
56 | if (options.pfx) {
|
57 | this.pfx(options.pfx);
|
58 | }
|
59 |
|
60 | if (options.cert) {
|
61 | this.cert(options.cert);
|
62 | }
|
63 |
|
64 | if (options.rejectUnauthorized === false) {
|
65 | this.disableTLSCerts();
|
66 | }
|
67 | }
|
68 | }
|
69 |
|
70 | Agent.prototype = Object.create(AgentBase.prototype);
|
71 | /**
|
72 | * Save the cookies in the given `res` to
|
73 | * the agent's cookie jar for persistence.
|
74 | *
|
75 | * @param {Response} res
|
76 | * @api private
|
77 | */
|
78 |
|
79 | Agent.prototype._saveCookies = function (res) {
|
80 | const cookies = res.headers['set-cookie'];
|
81 | if (cookies) this.jar.setCookies(cookies);
|
82 | };
|
83 | /**
|
84 | * Attach cookies when available to the given `req`.
|
85 | *
|
86 | * @param {Request} req
|
87 | * @api private
|
88 | */
|
89 |
|
90 |
|
91 | Agent.prototype._attachCookies = function (request_) {
|
92 | const url = parse(request_.url);
|
93 | const access = new CookieAccessInfo(url.hostname, url.pathname, url.protocol === 'https:');
|
94 | const cookies = this.jar.getCookies(access).toValueString();
|
95 | request_.cookies = cookies;
|
96 | };
|
97 |
|
98 | var _iterator = _createForOfIteratorHelper(methods),
|
99 | _step;
|
100 |
|
101 | try {
|
102 | for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
103 | const name = _step.value;
|
104 | const method = name.toUpperCase();
|
105 |
|
106 | Agent.prototype[name] = function (url, fn) {
|
107 | const request_ = new request.Request(method, url);
|
108 | request_.on('response', this._saveCookies.bind(this));
|
109 | request_.on('redirect', this._saveCookies.bind(this));
|
110 | request_.on('redirect', this._attachCookies.bind(this, request_));
|
111 |
|
112 | this._setDefaults(request_);
|
113 |
|
114 | this._attachCookies(request_);
|
115 |
|
116 | if (fn) {
|
117 | request_.end(fn);
|
118 | }
|
119 |
|
120 | return request_;
|
121 | };
|
122 | }
|
123 | } catch (err) {
|
124 | _iterator.e(err);
|
125 | } finally {
|
126 | _iterator.f();
|
127 | }
|
128 |
|
129 | Agent.prototype.del = Agent.prototype.delete;
|
130 | //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZXF1aXJlIiwicGFyc2UiLCJDb29raWVKYXIiLCJDb29raWVBY2Nlc3NJbmZvIiwibWV0aG9kcyIsInJlcXVlc3QiLCJBZ2VudEJhc2UiLCJtb2R1bGUiLCJleHBvcnRzIiwiQWdlbnQiLCJvcHRpb25zIiwiY2FsbCIsImphciIsImNhIiwia2V5IiwicGZ4IiwiY2VydCIsInJlamVjdFVuYXV0aG9yaXplZCIsImRpc2FibGVUTFNDZXJ0cyIsInByb3RvdHlwZSIsIk9iamVjdCIsImNyZWF0ZSIsIl9zYXZlQ29va2llcyIsInJlcyIsImNvb2tpZXMiLCJoZWFkZXJzIiwic2V0Q29va2llcyIsIl9hdHRhY2hDb29raWVzIiwicmVxdWVzdF8iLCJ1cmwiLCJhY2Nlc3MiLCJob3N0bmFtZSIsInBhdGhuYW1lIiwicHJvdG9jb2wiLCJnZXRDb29raWVzIiwidG9WYWx1ZVN0cmluZyIsIm5hbWUiLCJtZXRob2QiLCJ0b1VwcGVyQ2FzZSIsImZuIiwiUmVxdWVzdCIsIm9uIiwiYmluZCIsIl9zZXREZWZhdWx0cyIsImVuZCIsImRlbCIsImRlbGV0ZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ub2RlL2FnZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTW9kdWxlIGRlcGVuZGVuY2llcy5cbiAqL1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm9kZS9uby1kZXByZWNhdGVkLWFwaVxuY29uc3QgeyBwYXJzZSB9ID0gcmVxdWlyZSgndXJsJyk7XG5jb25zdCB7IENvb2tpZUphciB9ID0gcmVxdWlyZSgnY29va2llamFyJyk7XG5jb25zdCB7IENvb2tpZUFjY2Vzc0luZm8gfSA9IHJlcXVpcmUoJ2Nvb2tpZWphcicpO1xuY29uc3QgbWV0aG9kcyA9IHJlcXVpcmUoJ21ldGhvZHMnKTtcbmNvbnN0IHJlcXVlc3QgPSByZXF1aXJlKCcuLi8uLicpO1xuY29uc3QgQWdlbnRCYXNlID0gcmVxdWlyZSgnLi4vYWdlbnQtYmFzZScpO1xuXG4vKipcbiAqIEV4cG9zZSBgQWdlbnRgLlxuICovXG5cbm1vZHVsZS5leHBvcnRzID0gQWdlbnQ7XG5cbi8qKlxuICogSW5pdGlhbGl6ZSBhIG5ldyBgQWdlbnRgLlxuICpcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuZnVuY3Rpb24gQWdlbnQob3B0aW9ucykge1xuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgQWdlbnQpKSB7XG4gICAgcmV0dXJuIG5ldyBBZ2VudChvcHRpb25zKTtcbiAgfVxuXG4gIEFnZW50QmFzZS5jYWxsKHRoaXMpO1xuICB0aGlzLmphciA9IG5ldyBDb29raWVKYXIoKTtcblxuICBpZiAob3B0aW9ucykge1xuICAgIGlmIChvcHRpb25zLmNhKSB7XG4gICAgICB0aGlzLmNhKG9wdGlvbnMuY2EpO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLmtleSkge1xuICAgICAgdGhpcy5rZXkob3B0aW9ucy5rZXkpO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLnBmeCkge1xuICAgICAgdGhpcy5wZngob3B0aW9ucy5wZngpO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLmNlcnQpIHtcbiAgICAgIHRoaXMuY2VydChvcHRpb25zLmNlcnQpO1xuICAgIH1cblxuICAgIGlmIChvcHRpb25zLnJlamVjdFVuYXV0aG9yaXplZCA9PT0gZmFsc2UpIHtcbiAgICAgIHRoaXMuZGlzYWJsZVRMU0NlcnRzKCk7XG4gICAgfVxuICB9XG59XG5cbkFnZW50LnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoQWdlbnRCYXNlLnByb3RvdHlwZSk7XG5cbi8qKlxuICogU2F2ZSB0aGUgY29va2llcyBpbiB0aGUgZ2l2ZW4gYHJlc2AgdG9cbiAqIHRoZSBhZ2VudCdzIGNvb2tpZSBqYXIgZm9yIHBlcnNpc3RlbmNlLlxuICpcbiAqIEBwYXJhbSB7UmVzcG9uc2V9IHJlc1xuICogQGFwaSBwcml2YXRlXG4gKi9cblxuQWdlbnQucHJvdG90eXBlLl9zYXZlQ29va2llcyA9IGZ1bmN0aW9uIChyZXMpIHtcbiAgY29uc3QgY29va2llcyA9IHJlcy5oZWFkZXJzWydzZXQtY29va2llJ107XG4gIGlmIChjb29raWVzKSB0aGlzLmphci5zZXRDb29raWVzKGNvb2tpZXMpO1xufTtcblxuLyoqXG4gKiBBdHRhY2ggY29va2llcyB3aGVuIGF2YWlsYWJsZSB0byB0aGUgZ2l2ZW4gYHJlcWAuXG4gKlxuICogQHBhcmFtIHtSZXF1ZXN0fSByZXFcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbkFnZW50LnByb3RvdHlwZS5fYXR0YWNoQ29va2llcyA9IGZ1bmN0aW9uIChyZXF1ZXN0Xykge1xuICBjb25zdCB1cmwgPSBwYXJzZShyZXF1ZXN0Xy51cmwpO1xuICBjb25zdCBhY2Nlc3MgPSBuZXcgQ29va2llQWNjZXNzSW5mbyhcbiAgICB1cmwuaG9zdG5hbWUsXG4gICAgdXJsLnBhdGhuYW1lLFxuICAgIHVybC5wcm90b2NvbCA9PT0gJ2h0dHBzOidcbiAgKTtcbiAgY29uc3QgY29va2llcyA9IHRoaXMuamFyLmdldENvb2tpZXMoYWNjZXNzKS50b1ZhbHVlU3RyaW5nKCk7XG4gIHJlcXVlc3RfLmNvb2tpZXMgPSBjb29raWVzO1xufTtcblxuZm9yIChjb25zdCBuYW1lIG9mIG1ldGhvZHMpIHtcbiAgY29uc3QgbWV0aG9kID0gbmFtZS50b1VwcGVyQ2FzZSgpO1xuICBBZ2VudC5wcm90b3R5cGVbbmFtZV0gPSBmdW5jdGlvbiAodXJsLCBmbikge1xuICAgIGNvbnN0IHJlcXVlc3RfID0gbmV3IHJlcXVlc3QuUmVxdWVzdChtZXRob2QsIHVybCk7XG5cbiAgICByZXF1ZXN0Xy5vbigncmVzcG9uc2UnLCB0aGlzLl9zYXZlQ29va2llcy5iaW5kKHRoaXMpKTtcbiAgICByZXF1ZXN0Xy5vbigncmVkaXJlY3QnLCB0aGlzLl9zYXZlQ29va2llcy5iaW5kKHRoaXMpKTtcbiAgICByZXF1ZXN0Xy5vbigncmVkaXJlY3QnLCB0aGlzLl9hdHRhY2hDb29raWVzLmJpbmQodGhpcywgcmVxdWVzdF8pKTtcbiAgICB0aGlzLl9zZXREZWZhdWx0cyhyZXF1ZXN0Xyk7XG4gICAgdGhpcy5fYXR0YWNoQ29va2llcyhyZXF1ZXN0Xyk7XG5cbiAgICBpZiAoZm4pIHtcbiAgICAgIHJlcXVlc3RfLmVuZChmbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlcXVlc3RfO1xuICB9O1xufVxuXG5BZ2VudC5wcm90b3R5cGUuZGVsID0gQWdlbnQucHJvdG90eXBlLmRlbGV0ZTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNBLGlCQUFrQkEsT0FBTyxDQUFDLEtBQUQsQ0FBekI7QUFBQSxNQUFRQyxLQUFSLFlBQVFBLEtBQVI7O0FBQ0Esa0JBQXNCRCxPQUFPLENBQUMsV0FBRCxDQUE3QjtBQUFBLE1BQVFFLFNBQVIsYUFBUUEsU0FBUjs7QUFDQSxrQkFBNkJGLE9BQU8sQ0FBQyxXQUFELENBQXBDO0FBQUEsTUFBUUcsZ0JBQVIsYUFBUUEsZ0JBQVI7O0FBQ0EsTUFBTUMsT0FBTyxHQUFHSixPQUFPLENBQUMsU0FBRCxDQUF2Qjs7QUFDQSxNQUFNSyxPQUFPLEdBQUdMLE9BQU8sQ0FBQyxPQUFELENBQXZCOztBQUNBLE1BQU1NLFNBQVMsR0FBR04sT0FBTyxDQUFDLGVBQUQsQ0FBekI7QUFFQTtBQUNBO0FBQ0E7OztBQUVBTyxNQUFNLENBQUNDLE9BQVAsR0FBaUJDLEtBQWpCO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxTQUFTQSxLQUFULENBQWVDLE9BQWYsRUFBd0I7RUFDdEIsSUFBSSxFQUFFLGdCQUFnQkQsS0FBbEIsQ0FBSixFQUE4QjtJQUM1QixPQUFPLElBQUlBLEtBQUosQ0FBVUMsT0FBVixDQUFQO0VBQ0Q7O0VBRURKLFNBQVMsQ0FBQ0ssSUFBVixDQUFlLElBQWY7RUFDQSxLQUFLQyxHQUFMLEdBQVcsSUFBSVYsU0FBSixFQUFYOztFQUVBLElBQUlRLE9BQUosRUFBYTtJQUNYLElBQUlBLE9BQU8sQ0FBQ0csRUFBWixFQUFnQjtNQUNkLEtBQUtBLEVBQUwsQ0FBUUgsT0FBTyxDQUFDRyxFQUFoQjtJQUNEOztJQUVELElBQUlILE9BQU8sQ0FBQ0ksR0FBWixFQUFpQjtNQUNmLEtBQUtBLEdBQUwsQ0FBU0osT0FBTyxDQUFDSSxHQUFqQjtJQUNEOztJQUVELElBQUlKLE9BQU8sQ0FBQ0ssR0FBWixFQUFpQjtNQUNmLEtBQUtBLEdBQUwsQ0FBU0wsT0FBTyxDQUFDSyxHQUFqQjtJQUNEOztJQUVELElBQUlMLE9BQU8sQ0FBQ00sSUFBWixFQUFrQjtNQUNoQixLQUFLQSxJQUFMLENBQVVOLE9BQU8sQ0FBQ00sSUFBbEI7SUFDRDs7SUFFRCxJQUFJTixPQUFPLENBQUNPLGtCQUFSLEtBQStCLEtBQW5DLEVBQTBDO01BQ3hDLEtBQUtDLGVBQUw7SUFDRDtFQUNGO0FBQ0Y7O0FBRURULEtBQUssQ0FBQ1UsU0FBTixHQUFrQkMsTUFBTSxDQUFDQyxNQUFQLENBQWNmLFNBQVMsQ0FBQ2EsU0FBeEIsQ0FBbEI7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQVYsS0FBSyxDQUFDVSxTQUFOLENBQWdCRyxZQUFoQixHQUErQixVQUFVQyxHQUFWLEVBQWU7RUFDNUMsTUFBTUMsT0FBTyxHQUFHRCxHQUFHLENBQUNFLE9BQUosQ0FBWSxZQUFaLENBQWhCO0VBQ0EsSUFBSUQsT0FBSixFQUFhLEtBQUtaLEdBQUwsQ0FBU2MsVUFBVCxDQUFvQkYsT0FBcEI7QUFDZCxDQUhEO0FBS0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFFQWYsS0FBSyxDQUFDVSxTQUFOLENBQWdCUSxjQUFoQixHQUFpQyxVQUFVQyxRQUFWLEVBQW9CO0VBQ25ELE1BQU1DLEdBQUcsR0FBRzVCLEtBQUssQ0FBQzJCLFFBQVEsQ0FBQ0MsR0FBVixDQUFqQjtFQUNBLE1BQU1DLE1BQU0sR0FBRyxJQUFJM0IsZ0JBQUosQ0FDYjBCLEdBQUcsQ0FBQ0UsUUFEUyxFQUViRixHQUFHLENBQUNHLFFBRlMsRUFHYkgsR0FBRyxDQUFDSSxRQUFKLEtBQWlCLFFBSEosQ0FBZjtFQUtBLE1BQU1ULE9BQU8sR0FBRyxLQUFLWixHQUFMLENBQVNzQixVQUFULENBQW9CSixNQUFwQixFQUE0QkssYUFBNUIsRUFBaEI7RUFDQVAsUUFBUSxDQUFDSixPQUFULEdBQW1CQSxPQUFuQjtBQUNELENBVEQ7OzJDQVdtQnBCLE87Ozs7RUFBbkIsb0RBQTRCO0lBQUEsTUFBakJnQyxJQUFpQjtJQUMxQixNQUFNQyxNQUFNLEdBQUdELElBQUksQ0FBQ0UsV0FBTCxFQUFmOztJQUNBN0IsS0FBSyxDQUFDVSxTQUFOLENBQWdCaUIsSUFBaEIsSUFBd0IsVUFBVVAsR0FBVixFQUFlVSxFQUFmLEVBQW1CO01BQ3pDLE1BQU1YLFFBQVEsR0FBRyxJQUFJdkIsT0FBTyxDQUFDbUMsT0FBWixDQUFvQkgsTUFBcEIsRUFBNEJSLEdBQTVCLENBQWpCO01BRUFELFFBQVEsQ0FBQ2EsRUFBVCxDQUFZLFVBQVosRUFBd0IsS0FBS25CLFlBQUwsQ0FBa0JvQixJQUFsQixDQUF1QixJQUF2QixDQUF4QjtNQUNBZCxRQUFRLENBQUNhLEVBQVQsQ0FBWSxVQUFaLEVBQXdCLEtBQUtuQixZQUFMLENBQWtCb0IsSUFBbEIsQ0FBdUIsSUFBdkIsQ0FBeEI7TUFDQWQsUUFBUSxDQUFDYSxFQUFULENBQVksVUFBWixFQUF3QixLQUFLZCxjQUFMLENBQW9CZSxJQUFwQixDQUF5QixJQUF6QixFQUErQmQsUUFBL0IsQ0FBeEI7O01BQ0EsS0FBS2UsWUFBTCxDQUFrQmYsUUFBbEI7O01BQ0EsS0FBS0QsY0FBTCxDQUFvQkMsUUFBcEI7O01BRUEsSUFBSVcsRUFBSixFQUFRO1FBQ05YLFFBQVEsQ0FBQ2dCLEdBQVQsQ0FBYUwsRUFBYjtNQUNEOztNQUVELE9BQU9YLFFBQVA7SUFDRCxDQWREO0VBZUQ7Ozs7Ozs7QUFFRG5CLEtBQUssQ0FBQ1UsU0FBTixDQUFnQjBCLEdBQWhCLEdBQXNCcEMsS0FBSyxDQUFDVSxTQUFOLENBQWdCMkIsTUFBdEMifQ== |
\ | No newline at end of file |