保誠-保戶業務員媒合平台
HelenHuang
2022-06-09 9bdb95c9e34cef640534e5e5a1e2225a80442000
PAMapp/node_modules/node-fetch/lib/index.mjs
@@ -1136,7 +1136,7 @@
});
const INTERNALS$2 = Symbol('Request internals');
const URL = whatwgUrl.URL;
const URL = Url.URL || whatwgUrl.URL;
// fix an issue where "format", "parse" aren't a named export for node <10
const parse_url = Url.parse;
@@ -1399,9 +1399,17 @@
AbortError.prototype.constructor = AbortError;
AbortError.prototype.name = 'AbortError';
const URL$1 = Url.URL || whatwgUrl.URL;
// fix an issue where "PassThrough", "resolve" aren't a named export for node <10
const PassThrough$1 = Stream.PassThrough;
const resolve_url = Url.resolve;
const isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) {
   const orig = new URL$1(original).hostname;
   const dest = new URL$1(destination).hostname;
   return orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest);
};
/**
 * Fetch function
@@ -1489,7 +1497,19 @@
            const location = headers.get('Location');
            // HTTP fetch step 5.3
            const locationURL = location === null ? null : resolve_url(request.url, location);
            let locationURL = null;
            try {
               locationURL = location === null ? null : new URL$1(location, request.url).toString();
            } catch (err) {
               // error here can only be invalid URL in Location: header
               // do not throw when options.redirect == manual
               // let the user extract the errorneous redirect URL
               if (request.redirect !== 'manual') {
                  reject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect'));
                  finalize();
                  return;
               }
            }
            // HTTP fetch step 5.5
            switch (request.redirect) {
@@ -1537,6 +1557,12 @@
                     size: request.size
                  };
                  if (!isDomainOrSubdomain(request.url, locationURL)) {
                     for (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) {
                        requestOpts.headers.delete(name);
                     }
                  }
                  // HTTP-redirect fetch step 9
                  if (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) {
                     reject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect'));