summaryrefslogtreecommitdiff
path: root/node_modules/got/dist
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/got/dist')
-rw-r--r--node_modules/got/dist/source/as-promise/create-rejection.d.ts2
-rw-r--r--node_modules/got/dist/source/as-promise/create-rejection.js30
-rw-r--r--node_modules/got/dist/source/as-promise/index.d.ts3
-rw-r--r--node_modules/got/dist/source/as-promise/index.js175
-rw-r--r--node_modules/got/dist/source/as-promise/normalize-arguments.d.ts3
-rw-r--r--node_modules/got/dist/source/as-promise/normalize-arguments.js78
-rw-r--r--node_modules/got/dist/source/as-promise/parse-body.d.ts3
-rw-r--r--node_modules/got/dist/source/as-promise/parse-body.js25
-rw-r--r--node_modules/got/dist/source/as-promise/types.d.ts256
-rw-r--r--node_modules/got/dist/source/as-promise/types.js42
-rw-r--r--node_modules/got/dist/source/core/calculate-retry-delay.d.ts5
-rw-r--r--node_modules/got/dist/source/core/calculate-retry-delay.js29
-rw-r--r--node_modules/got/dist/source/core/index.d.ts1124
-rw-r--r--node_modules/got/dist/source/core/index.js1505
-rw-r--r--node_modules/got/dist/source/core/utils/dns-ip-version.d.ts5
-rw-r--r--node_modules/got/dist/source/core/utils/dns-ip-version.js17
-rw-r--r--node_modules/got/dist/source/core/utils/get-body-size.d.ts3
-rw-r--r--node_modules/got/dist/source/core/utils/get-body-size.js32
-rw-r--r--node_modules/got/dist/source/core/utils/get-buffer.d.ts4
-rw-r--r--node_modules/got/dist/source/core/utils/get-buffer.js16
-rw-r--r--node_modules/got/dist/source/core/utils/is-form-data.d.ts8
-rw-r--r--node_modules/got/dist/source/core/utils/is-form-data.js4
-rw-r--r--node_modules/got/dist/source/core/utils/is-response-ok.d.ts2
-rw-r--r--node_modules/got/dist/source/core/utils/is-response-ok.js8
-rw-r--r--node_modules/got/dist/source/core/utils/options-to-url.d.ts14
-rw-r--r--node_modules/got/dist/source/core/utils/options-to-url.js53
-rw-r--r--node_modules/got/dist/source/core/utils/proxy-events.d.ts3
-rw-r--r--node_modules/got/dist/source/core/utils/proxy-events.js17
-rw-r--r--node_modules/got/dist/source/core/utils/timed-out.d.ts29
-rw-r--r--node_modules/got/dist/source/core/utils/timed-out.js121
-rw-r--r--node_modules/got/dist/source/core/utils/unhandle.d.ts11
-rw-r--r--node_modules/got/dist/source/core/utils/unhandle.js22
-rw-r--r--node_modules/got/dist/source/core/utils/url-to-options.d.ts15
-rw-r--r--node_modules/got/dist/source/core/utils/url-to-options.js24
-rw-r--r--node_modules/got/dist/source/core/utils/weakable-map.d.ts8
-rw-r--r--node_modules/got/dist/source/core/utils/weakable-map.js29
-rw-r--r--node_modules/got/dist/source/create.d.ts5
-rw-r--r--node_modules/got/dist/source/create.js240
-rw-r--r--node_modules/got/dist/source/index.d.ts4
-rw-r--r--node_modules/got/dist/source/index.js132
-rw-r--r--node_modules/got/dist/source/types.d.ts344
-rw-r--r--node_modules/got/dist/source/types.js2
-rw-r--r--node_modules/got/dist/source/utils/deep-freeze.d.ts1
-rw-r--r--node_modules/got/dist/source/utils/deep-freeze.js12
-rw-r--r--node_modules/got/dist/source/utils/deprecation-warning.d.ts2
-rw-r--r--node_modules/got/dist/source/utils/deprecation-warning.js13
46 files changed, 0 insertions, 4480 deletions
diff --git a/node_modules/got/dist/source/as-promise/create-rejection.d.ts b/node_modules/got/dist/source/as-promise/create-rejection.d.ts
deleted file mode 100644
index f125a77..0000000
--- a/node_modules/got/dist/source/as-promise/create-rejection.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import { CancelableRequest, BeforeErrorHook } from './types';
-export default function createRejection(error: Error, ...beforeErrorGroups: Array<BeforeErrorHook[] | undefined>): CancelableRequest<never>;
diff --git a/node_modules/got/dist/source/as-promise/create-rejection.js b/node_modules/got/dist/source/as-promise/create-rejection.js
deleted file mode 100644
index ce62604..0000000
--- a/node_modules/got/dist/source/as-promise/create-rejection.js
+++ /dev/null
@@ -1,30 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-const types_1 = require("./types");
-function createRejection(error, ...beforeErrorGroups) {
- const promise = (async () => {
- if (error instanceof types_1.RequestError) {
- try {
- for (const hooks of beforeErrorGroups) {
- if (hooks) {
- for (const hook of hooks) {
- // eslint-disable-next-line no-await-in-loop
- error = await hook(error);
- }
- }
- }
- }
- catch (error_) {
- error = error_;
- }
- }
- throw error;
- })();
- const returnPromise = () => promise;
- promise.json = returnPromise;
- promise.text = returnPromise;
- promise.buffer = returnPromise;
- promise.on = returnPromise;
- return promise;
-}
-exports.default = createRejection;
diff --git a/node_modules/got/dist/source/as-promise/index.d.ts b/node_modules/got/dist/source/as-promise/index.d.ts
deleted file mode 100644
index f06720e..0000000
--- a/node_modules/got/dist/source/as-promise/index.d.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-import { NormalizedOptions, CancelableRequest } from './types';
-export default function asPromise<T>(normalizedOptions: NormalizedOptions): CancelableRequest<T>;
-export * from './types';
diff --git a/node_modules/got/dist/source/as-promise/index.js b/node_modules/got/dist/source/as-promise/index.js
deleted file mode 100644
index b4026d3..0000000
--- a/node_modules/got/dist/source/as-promise/index.js
+++ /dev/null
@@ -1,175 +0,0 @@
-"use strict";
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __exportStar = (this && this.__exportStar) || function(m, exports) {
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-const events_1 = require("events");
-const is_1 = require("@sindresorhus/is");
-const PCancelable = require("p-cancelable");
-const types_1 = require("./types");
-const parse_body_1 = require("./parse-body");
-const core_1 = require("../core");
-const proxy_events_1 = require("../core/utils/proxy-events");
-const get_buffer_1 = require("../core/utils/get-buffer");
-const is_response_ok_1 = require("../core/utils/is-response-ok");
-const proxiedRequestEvents = [
- 'request',
- 'response',
- 'redirect',
- 'uploadProgress',
- 'downloadProgress'
-];
-function asPromise(normalizedOptions) {
- let globalRequest;
- let globalResponse;
- const emitter = new events_1.EventEmitter();
- const promise = new PCancelable((resolve, reject, onCancel) => {
- const makeRequest = (retryCount) => {
- const request = new core_1.default(undefined, normalizedOptions);
- request.retryCount = retryCount;
- request._noPipe = true;
- onCancel(() => request.destroy());
- onCancel.shouldReject = false;
- onCancel(() => reject(new types_1.CancelError(request)));
- globalRequest = request;
- request.once('response', async (response) => {
- var _a;
- response.retryCount = retryCount;
- if (response.request.aborted) {
- // Canceled while downloading - will throw a `CancelError` or `TimeoutError` error
- return;
- }
- // Download body
- let rawBody;
- try {
- rawBody = await get_buffer_1.default(request);
- response.rawBody = rawBody;
- }
- catch (_b) {
- // The same error is caught below.
- // See request.once('error')
- return;
- }
- if (request._isAboutToError) {
- return;
- }
- // Parse body
- const contentEncoding = ((_a = response.headers['content-encoding']) !== null && _a !== void 0 ? _a : '').toLowerCase();
- const isCompressed = ['gzip', 'deflate', 'br'].includes(contentEncoding);
- const { options } = request;
- if (isCompressed && !options.decompress) {
- response.body = rawBody;
- }
- else {
- try {
- response.body = parse_body_1.default(response, options.responseType, options.parseJson, options.encoding);
- }
- catch (error) {
- // Fallback to `utf8`
- response.body = rawBody.toString();
- if (is_response_ok_1.isResponseOk(response)) {
- request._beforeError(error);
- return;
- }
- }
- }
- try {
- for (const [index, hook] of options.hooks.afterResponse.entries()) {
- // @ts-expect-error TS doesn't notice that CancelableRequest is a Promise
- // eslint-disable-next-line no-await-in-loop
- response = await hook(response, async (updatedOptions) => {
- const typedOptions = core_1.default.normalizeArguments(undefined, {
- ...updatedOptions,
- retry: {
- calculateDelay: () => 0
- },
- throwHttpErrors: false,
- resolveBodyOnly: false
- }, options);
- // Remove any further hooks for that request, because we'll call them anyway.
- // The loop continues. We don't want duplicates (asPromise recursion).
- typedOptions.hooks.afterResponse = typedOptions.hooks.afterResponse.slice(0, index);
- for (const hook of typedOptions.hooks.beforeRetry) {
- // eslint-disable-next-line no-await-in-loop
- await hook(typedOptions);
- }
- const promise = asPromise(typedOptions);
- onCancel(() => {
- promise.catch(() => { });
- promise.cancel();
- });
- return promise;
- });
- }
- }
- catch (error) {
- request._beforeError(new types_1.RequestError(error.message, error, request));
- return;
- }
- globalResponse = response;
- if (!is_response_ok_1.isResponseOk(response)) {
- request._beforeError(new types_1.HTTPError(response));
- return;
- }
- resolve(request.options.resolveBodyOnly ? response.body : response);
- });
- const onError = (error) => {
- if (promise.isCanceled) {
- return;
- }
- const { options } = request;
- if (error instanceof types_1.HTTPError && !options.throwHttpErrors) {
- const { response } = error;
- resolve(request.options.resolveBodyOnly ? response.body : response);
- return;
- }
- reject(error);
- };
- request.once('error', onError);
- const previousBody = request.options.body;
- request.once('retry', (newRetryCount, error) => {
- var _a, _b;
- if (previousBody === ((_a = error.request) === null || _a === void 0 ? void 0 : _a.options.body) && is_1.default.nodeStream((_b = error.request) === null || _b === void 0 ? void 0 : _b.options.body)) {
- onError(error);
- return;
- }
- makeRequest(newRetryCount);
- });
- proxy_events_1.default(request, emitter, proxiedRequestEvents);
- };
- makeRequest(0);
- });
- promise.on = (event, fn) => {
- emitter.on(event, fn);
- return promise;
- };
- const shortcut = (responseType) => {
- const newPromise = (async () => {
- // Wait until downloading has ended
- await promise;
- const { options } = globalResponse.request;
- return parse_body_1.default(globalResponse, responseType, options.parseJson, options.encoding);
- })();
- Object.defineProperties(newPromise, Object.getOwnPropertyDescriptors(promise));
- return newPromise;
- };
- promise.json = () => {
- const { headers } = globalRequest.options;
- if (!globalRequest.writableFinished && headers.accept === undefined) {
- headers.accept = 'application/json';
- }
- return shortcut('json');
- };
- promise.buffer = () => shortcut('buffer');
- promise.text = () => shortcut('text');
- return promise;
-}
-exports.default = asPromise;
-__exportStar(require("./types"), exports);
diff --git a/node_modules/got/dist/source/as-promise/normalize-arguments.d.ts b/node_modules/got/dist/source/as-promise/normalize-arguments.d.ts
deleted file mode 100644
index 0b1e95f..0000000
--- a/node_modules/got/dist/source/as-promise/normalize-arguments.d.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-import { NormalizedOptions, Defaults } from './types';
-declare const normalizeArguments: (options: NormalizedOptions, defaults?: Defaults | undefined) => NormalizedOptions;
-export default normalizeArguments;
diff --git a/node_modules/got/dist/source/as-promise/normalize-arguments.js b/node_modules/got/dist/source/as-promise/normalize-arguments.js
deleted file mode 100644
index 859feb9..0000000
--- a/node_modules/got/dist/source/as-promise/normalize-arguments.js
+++ /dev/null
@@ -1,78 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-const is_1 = require("@sindresorhus/is");
-const normalizeArguments = (options, defaults) => {
- if (is_1.default.null_(options.encoding)) {
- throw new TypeError('To get a Buffer, set `options.responseType` to `buffer` instead');
- }
- is_1.assert.any([is_1.default.string, is_1.default.undefined], options.encoding);
- is_1.assert.any([is_1.default.boolean, is_1.default.undefined], options.resolveBodyOnly);
- is_1.assert.any([is_1.default.boolean, is_1.default.undefined], options.methodRewriting);
- is_1.assert.any([is_1.default.boolean, is_1.default.undefined], options.isStream);
- is_1.assert.any([is_1.default.string, is_1.default.undefined], options.responseType);
- // `options.responseType`
- if (options.responseType === undefined) {
- options.responseType = 'text';
- }
- // `options.retry`
- const { retry } = options;
- if (defaults) {
- options.retry = { ...defaults.retry };
- }
- else {
- options.retry = {
- calculateDelay: retryObject => retryObject.computedValue,
- limit: 0,
- methods: [],
- statusCodes: [],
- errorCodes: [],
- maxRetryAfter: undefined
- };
- }
- if (is_1.default.object(retry)) {
- options.retry = {
- ...options.retry,
- ...retry
- };
- options.retry.methods = [...new Set(options.retry.methods.map(method => method.toUpperCase()))];
- options.retry.statusCodes = [...new Set(options.retry.statusCodes)];
- options.retry.errorCodes = [...new Set(options.retry.errorCodes)];
- }
- else if (is_1.default.number(retry)) {
- options.retry.limit = retry;
- }
- if (is_1.default.undefined(options.retry.maxRetryAfter)) {
- options.retry.maxRetryAfter = Math.min(
- // TypeScript is not smart enough to handle `.filter(x => is.number(x))`.
- // eslint-disable-next-line unicorn/no-fn-reference-in-iterator
- ...[options.timeout.request, options.timeout.connect].filter(is_1.default.number));
- }
- // `options.pagination`
- if (is_1.default.object(options.pagination)) {
- if (defaults) {
- options.pagination = {
- ...defaults.pagination,
- ...options.pagination
- };
- }
- const { pagination } = options;
- if (!is_1.default.function_(pagination.transform)) {
- throw new Error('`options.pagination.transform` must be implemented');
- }
- if (!is_1.default.function_(pagination.shouldContinue)) {
- throw new Error('`options.pagination.shouldContinue` must be implemented');
- }
- if (!is_1.default.function_(pagination.filter)) {
- throw new TypeError('`options.pagination.filter` must be implemented');
- }
- if (!is_1.default.function_(pagination.paginate)) {
- throw new Error('`options.pagination.paginate` must be implemented');
- }
- }
- // JSON mode
- if (options.responseType === 'json' && options.headers.accept === undefined) {
- options.headers.accept = 'application/json';
- }
- return options;
-};
-exports.default = normalizeArguments;
diff --git a/node_modules/got/dist/source/as-promise/parse-body.d.ts b/node_modules/got/dist/source/as-promise/parse-body.d.ts
deleted file mode 100644
index 39d0b41..0000000
--- a/node_modules/got/dist/source/as-promise/parse-body.d.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-import { ResponseType, Response, ParseJsonFunction } from './types';
-declare const parseBody: (response: Response, responseType: ResponseType, parseJson: ParseJsonFunction, encoding?: "ascii" | "utf8" | "utf-8" | "utf16le" | "ucs2" | "ucs-2" | "base64" | "base64url" | "latin1" | "binary" | "hex" | undefined) => unknown;
-export default parseBody;
diff --git a/node_modules/got/dist/source/as-promise/parse-body.js b/node_modules/got/dist/source/as-promise/parse-body.js
deleted file mode 100644
index cc2b806..0000000
--- a/node_modules/got/dist/source/as-promise/parse-body.js
+++ /dev/null
@@ -1,25 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-const types_1 = require("./types");
-const parseBody = (response, responseType, parseJson, encoding) => {
- const { rawBody } = response;
- try {
- if (responseType === 'text') {
- return rawBody.toString(encoding);
- }
- if (responseType === 'json') {
- return rawBody.length === 0 ? '' : parseJson(rawBody.toString());
- }
- if (responseType === 'buffer') {
- return rawBody;
- }
- throw new types_1.ParseError({
- message: `Unknown body type '${responseType}'`,
- name: 'Error'
- }, response);
- }
- catch (error) {
- throw new types_1.ParseError(error, response);
- }
-};
-exports.default = parseBody;
diff --git a/node_modules/got/dist/source/as-promise/types.d.ts b/node_modules/got/dist/source/as-promise/types.d.ts
deleted file mode 100644
index 16bb4cb..0000000
--- a/node_modules/got/dist/source/as-promise/types.d.ts
+++ /dev/null
@@ -1,256 +0,0 @@
-/// <reference types="node" />
-import PCancelable = require('p-cancelable');
-import Request, { Options, Response, RequestError, RequestEvents } from '../core';
-/**
-All parsing methods supported by Got.
-*/
-export declare type ResponseType = 'json' | 'buffer' | 'text';
-export interface PaginationOptions<T, R> {
- /**
- All options accepted by `got.paginate()`.
- */
- pagination?: {
- /**
- A function that transform [`Response`](#response) into an array of items.
- This is where you should do the parsing.
-
- @default response => JSON.parse(response.body)
- */
- transform?: (response: Response<R>) => Promise<T[]> | T[];
- /**
- Checks whether the item should be emitted or not.
-
- @default (item, allItems, currentItems) => true
- */
- filter?: (item: T, allItems: T[], currentItems: T[]) => boolean;
- /**
- The function takes three arguments:
- - `response` - The current response object.
- - `allItems` - An array of the emitted items.
- - `currentItems` - Items from the current response.
-
- It should return an object representing Got options pointing to the next page.
- The options are merged automatically with the previous request, therefore the options returned `pagination.paginate(...)` must reflect changes only.
- If there are no more pages, `false` should be returned.
-
- @example
- ```
- const got = require('got');
-
- (async () => {
- const limit = 10;
-
- const items = got.paginate('https://example.com/items', {
- searchParams: {
- limit,
- offset: 0
- },
- pagination: {
- paginate: (response, allItems, currentItems) => {
- const previousSearchParams = response.request.options.searchParams;
- const previousOffset = previousSearchParams.get('offset');
-
- if (currentItems.length < limit) {
- return false;
- }
-
- return {
- searchParams: {
- ...previousSearchParams,
- offset: Number(previousOffset) + limit,
- }
- };
- }
- }
- });
-
- console.log('Items from all pages:', items);
- })();
- ```
- */
- paginate?: (response: Response<R>, allItems: T[], currentItems: T[]) => Options | false;
- /**
- Checks whether the pagination should continue.
-
- For example, if you need to stop **before** emitting an entry with some flag, you should use `(item, allItems, currentItems) => !item.flag`.
- If you want to stop **after** emitting the entry, you should use `(item, allItems, currentItems) => allItems.some(entry => entry.flag)` instead.
-
- @default (item, allItems, currentItems) => true
- */
- shouldContinue?: (item: T, allItems: T[], currentItems: T[]) => boolean;
- /**
- The maximum amount of items that should be emitted.
-
- @default Infinity
- */
- countLimit?: number;
- /**
- Milliseconds to wait before the next request is triggered.
-
- @default 0
- */
- backoff?: number;
- /**
- The maximum amount of request that should be triggered.
- Retries on failure are not counted towards this limit.
-
- For example, it can be helpful during development to avoid an infinite number of requests.
-
- @default 10000
- */
- requestLimit?: number;
- /**
- Defines how the parameter `allItems` in pagination.paginate, pagination.filter and pagination.shouldContinue is managed.
- When set to `false`, the parameter `allItems` is always an empty array.
-
- This option can be helpful to save on memory usage when working with a large dataset.
- */
- stackAllItems?: boolean;
- };
-}
-export declare type AfterResponseHook = (response: Response, retryWithMergedOptions: (options: Options) => CancelableRequest<Response>) => Response | CancelableRequest<Response> | Promise<Response | CancelableRequest<Response>>;
-export declare namespace PromiseOnly {
- interface Hooks {
- /**
- Called with [response object](#response) and a retry function.
- Calling the retry function will trigger `beforeRetry` hooks.
-
- Each function should return the response.
- This is especially useful when you want to refresh an access token.
-
- __Note__: When using streams, this hook is ignored.
-
- @example
- ```
- const got = require('got');
-
- const instance = got.extend({
- hooks: {
- afterResponse: [
- (response, retryWithMergedOptions) => {
- if (response.statusCode === 401) { // Unauthorized
- const updatedOptions = {
- headers: {
- token: getNewToken() // Refresh the access token
- }
- };
-
- // Save for further requests
- instance.defaults.options = got.mergeOptions(instance.defaults.options, updatedOptions);
-
- // Make a new retry
- return retryWithMergedOptions(updatedOptions);
- }
-
- // No changes otherwise
- return response;
- }
- ],
- beforeRetry: [
- (options, error, retryCount) => {
- // This will be called on `retryWithMergedOptions(...)`
- }
- ]
- },
- mutableDefaults: true
- });
- ```
- */
- afterResponse?: AfterResponseHook[];
- }
- interface Options extends PaginationOptions<unknown, unknown> {
- /**
- The parsing method.
-
- The promise also has `.text()`, `.json()` and `.buffer()` methods which return another Got promise for the parsed body.
-
- It's like setting the options to `{responseType: 'json', resolveBodyOnly: true}` but without affecting the main Got promise.
-
- __Note__: When using streams, this option is ignored.
-
- @example
- ```
- (async () => {
- const responsePromise = got(url);
- const bufferPromise = responsePromise.buffer();
- const jsonPromise = responsePromise.json();
-
- const [response, buffer, json] = Promise.all([responsePromise, bufferPromise, jsonPromise]);
- // `response` is an instance of Got Response
- // `buffer` is an instance of Buffer
- // `json` is an object
- })();
- ```
-
- @example
- ```
- // This
- const body = await got(url).json();
-
- // is semantically the same as this
- const body = await got(url, {responseType: 'json', resolveBodyOnly: true});
- ```
- */
- responseType?: ResponseType;
- /**
- When set to `true` the promise will return the Response body instead of the Response object.
-
- @default false
- */
- resolveBodyOnly?: boolean;
- /**
- Returns a `Stream` instead of a `Promise`.
- This is equivalent to calling `got.stream(url, options?)`.
-
- @default false
- */
- isStream?: boolean;
- /**
- [Encoding](https://nodejs.org/api/buffer.html#buffer_buffers_and_character_encodings) to be used on `setEncoding` of the response data.
-
- To get a [`Buffer`](https://nodejs.org/api/buffer.html), you need to set `responseType` to `buffer` instead.
- Don't set this option to `null`.
-
- __Note__: This doesn't affect streams! Instead, you need to do `got.stream(...).setEncoding(encoding)`.
-
- @default 'utf-8'
- */
- encoding?: BufferEncoding;
- }
- interface NormalizedOptions {
- responseType: ResponseType;
- resolveBodyOnly: boolean;
- isStream: boolean;
- encoding?: BufferEncoding;
- pagination?: Required<PaginationOptions<unknown, unknown>['pagination']>;
- }
- interface Defaults {
- responseType: ResponseType;
- resolveBodyOnly: boolean;
- isStream: boolean;
- pagination?: Required<PaginationOptions<unknown, unknown>['pagination']>;
- }
- type HookEvent = 'afterResponse';
-}
-/**
-An error to be thrown when server response code is 2xx, and parsing body fails.
-Includes a `response` property.
-*/
-export declare class ParseError extends RequestError {
- readonly response: Response;
- constructor(error: Error, response: Response);
-}
-/**
-An error to be thrown when the request is aborted with `.cancel()`.
-*/
-export declare class CancelError extends RequestError {
- readonly response: Response;
- constructor(request: Request);
- get isCanceled(): boolean;
-}
-export interface CancelableRequest<T extends Response | Response['body'] = Response['body']> extends PCancelable<T>, RequestEvents<CancelableRequest<T>> {
- json: <ReturnType>() => CancelableRequest<ReturnType>;
- buffer: () => CancelableRequest<Buffer>;
- text: () => CancelableRequest<string>;
-}
-export * from '../core';
diff --git a/node_modules/got/dist/source/as-promise/types.js b/node_modules/got/dist/source/as-promise/types.js
deleted file mode 100644
index b73110a..0000000
--- a/node_modules/got/dist/source/as-promise/types.js
+++ /dev/null
@@ -1,42 +0,0 @@
-"use strict";
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __exportStar = (this && this.__exportStar) || function(m, exports) {
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.CancelError = exports.ParseError = void 0;
-const core_1 = require("../core");
-/**
-An error to be thrown when server response code is 2xx, and parsing body fails.
-Includes a `response` property.
-*/
-class ParseError extends core_1.RequestError {
- constructor(error, response) {
- const { options } = response.request;
- super(`${error.message} in "${options.url.toString()}"`, error, response.request);
- this.name = 'ParseError';
- this.code = this.code === 'ERR_GOT_REQUEST_ERROR' ? 'ERR_BODY_PARSE_FAILURE' : this.code;
- }
-}
-exports.ParseError = ParseError;
-/**
-An error to be thrown when the request is aborted with `.cancel()`.
-*/
-class CancelError extends core_1.RequestError {
- constructor(request) {
- super('Promise was canceled', {}, request);
- this.name = 'CancelError';
- this.code = 'ERR_CANCELED';
- }
- get isCanceled() {
- return true;
- }
-}
-exports.CancelError = CancelError;
-__exportStar(require("../core"), exports);
diff --git a/node_modules/got/dist/source/core/calculate-retry-delay.d.ts b/node_modules/got/dist/source/core/calculate-retry-delay.d.ts
deleted file mode 100644
index 86eca8f..0000000
--- a/node_modules/got/dist/source/core/calculate-retry-delay.d.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-import { RetryFunction } from '.';
-declare type Returns<T extends (...args: any) => unknown, V> = (...args: Parameters<T>) => V;
-export declare const retryAfterStatusCodes: ReadonlySet<number>;
-declare const calculateRetryDelay: Returns<RetryFunction, number>;
-export default calculateRetryDelay;
diff --git a/node_modules/got/dist/source/core/calculate-retry-delay.js b/node_modules/got/dist/source/core/calculate-retry-delay.js
deleted file mode 100644
index 99f604a..0000000
--- a/node_modules/got/dist/source/core/calculate-retry-delay.js
+++ /dev/null
@@ -1,29 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.retryAfterStatusCodes = void 0;
-exports.retryAfterStatusCodes = new Set([413, 429, 503]);
-const calculateRetryDelay = ({ attemptCount, retryOptions, error, retryAfter }) => {
- if (attemptCount > retryOptions.limit) {
- return 0;
- }
- const hasMethod = retryOptions.methods.includes(error.options.method);
- const hasErrorCode = retryOptions.errorCodes.includes(error.code);
- const hasStatusCode = error.response && retryOptions.statusCodes.includes(error.response.statusCode);
- if (!hasMethod || (!hasErrorCode && !hasStatusCode)) {
- return 0;
- }
- if (error.response) {
- if (retryAfter) {
- if (retryOptions.maxRetryAfter === undefined || retryAfter > retryOptions.maxRetryAfter) {
- return 0;
- }
- return retryAfter;
- }
- if (error.response.statusCode === 413) {
- return 0;
- }
- }
- const noise = Math.random() * 100;
- return ((2 ** (attemptCount - 1)) * 1000) + noise;
-};
-exports.default = calculateRetryDelay;
diff --git a/node_modules/got/dist/source/core/index.d.ts b/node_modules/got/dist/source/core/index.d.ts
deleted file mode 100644
index 803806e..0000000
--- a/node_modules/got/dist/source/core/index.d.ts
+++ /dev/null
@@ -1,1124 +0,0 @@
-/// <reference types="node" />
-import { Duplex, Readable } from 'stream';
-import { URL, URLSearchParams } from 'url';
-import { Socket } from 'net';
-import { SecureContextOptions, DetailedPeerCertificate } from 'tls';
-import http = require('http');
-import { ClientRequest, RequestOptions, ServerResponse, request as httpRequest } from 'http';
-import https = require('https');
-import { Timings, IncomingMessageWithTimings } from '@szmarczak/http-timer';
-import CacheableLookup from 'cacheable-lookup';
-import CacheableRequest = require('cacheable-request');
-import ResponseLike = require('responselike');
-import { Delays, TimeoutError as TimedOutTimeoutError } from './utils/timed-out';
-import { URLOptions } from './utils/options-to-url';
-import { DnsLookupIpVersion } from './utils/dns-ip-version';
-import { PromiseOnly } from '../as-promise/types';
-declare type HttpRequestFunction = typeof httpRequest;
-declare type Error = NodeJS.ErrnoException;
-declare const kRequest: unique symbol;
-declare const kResponse: unique symbol;
-declare const kResponseSize: unique symbol;
-declare const kDownloadedSize: unique symbol;
-declare const kBodySize: unique symbol;
-declare const kUploadedSize: unique symbol;
-declare const kServerResponsesPiped: unique symbol;
-declare const kUnproxyEvents: unique symbol;
-declare const kIsFromCache: unique symbol;
-declare const kCancelTimeouts: unique symbol;
-declare const kStartedReading: unique symbol;
-declare const kStopReading: unique symbol;
-declare const kTriggerRead: unique symbol;
-declare const kBody: unique symbol;
-declare const kJobs: unique symbol;
-declare const kOriginalResponse: unique symbol;
-declare const kRetryTimeout: unique symbol;
-export declare const kIsNormalizedAlready: unique symbol;
-export interface Agents {
- http?: http.Agent;
- https?: https.Agent;
- http2?: unknown;
-}
-export declare const withoutBody: ReadonlySet<string>;
-export interface ToughCookieJar {
- getCookieString: ((currentUrl: string, options: Record<string, unknown>, cb: (err: Error | null, cookies: string) => void) => void) & ((url: string, callback: (error: Error | null, cookieHeader: string) => void) => void);
- setCookie: ((cookieOrString: unknown, currentUrl: string, options: Record<string, unknown>, cb: (err: Error | null, cookie: unknown) => void) => void) & ((rawCookie: string, url: string, callback: (error: Error | null, result: unknown) => void) => void);
-}
-export interface PromiseCookieJar {
- getCookieString: (url: string) => Promise<string>;
- setCookie: (rawCookie: string, url: string) => Promise<unknown>;
-}
-/**
-All available HTTP request methods provided by Got.
-*/
-export declare type Method = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'HEAD' | 'DELETE' | 'OPTIONS' | 'TRACE' | 'get' | 'post' | 'put' | 'patch' | 'head' | 'delete' | 'options' | 'trace';
-declare type Promisable<T> = T | Promise<T>;
-export declare type InitHook = (options: Options) => void;
-export declare type BeforeRequestHook = (options: NormalizedOptions) => Promisable<void | Response | ResponseLike>;
-export declare type BeforeRedirectHook = (options: NormalizedOptions, response: Response) => Promisable<void>;
-export declare type BeforeErrorHook = (error: RequestError) => Promisable<RequestError>;
-export declare type BeforeRetryHook = (options: NormalizedOptions, error?: RequestError, retryCount?: number) => void | Promise<void>;
-interface PlainHooks {
- /**
- Called with plain request options, right before their normalization.
- This is especially useful in conjunction with `got.extend()` when the input needs custom handling.
-
- __Note #1__: This hook must be synchronous!
-
- __Note #2__: Errors in this hook will be converted into an instances of `RequestError`.
-
- __Note #3__: The options object may not have a `url` property.
- To modify it, use a `beforeRequest` hook instead.
-
- @default []
- */
- init?: InitHook[];
- /**
- Called with normalized request options.
- Got will make no further changes to the request before it is sent.
- This is especially useful in conjunction with `got.extend()` when you want to create an API client that, for example, uses HMAC-signing.
-
- @default []
- */
- beforeRequest?: BeforeRequestHook[];
- /**
- Called with normalized request options and the redirect response.
- Got will make no further changes to the request.
- This is especially useful when you want to avoid dead sites.
-
- @default []
-
- @example
- ```
- const got = require('got');
-
- got('https://example.com', {
- hooks: {
- beforeRedirect: [
- (options, response) => {
- if (options.hostname === 'deadSite') {
- options.hostname = 'fallbackSite';
- }
- }
- ]
- }
- });
- ```
- */
- beforeRedirect?: BeforeRedirectHook[];
- /**
- Called with an `Error` instance.
- The error is passed to the hook right before it's thrown.
- This is especially useful when you want to have more detailed errors.
-
- __Note__: Errors thrown while normalizing input options are thrown directly and not part of this hook.
-
- @default []
-
- @example
- ```
- const got = require('got');
-
- got('https://api.github.com/some-endpoint', {
- hooks: {
- beforeError: [
- error => {
- const {response} = error;
- if (response && response.body) {
- error.name = 'GitHubError';
- error.message = `${response.body.message} (${response.statusCode})`;
- }
-
- return error;
- }
- ]
- }
- });
- ```
- */
- beforeError?: BeforeErrorHook[];
- /**
- Called with normalized request options, the error and the retry count.
- Got will make no further changes to the request.
- This is especially useful when some extra work is required before the next try.
-
- __Note__: When using streams, this hook is ignored.
- __Note__: When retrying in a `afterResponse` hook, all remaining `beforeRetry` hooks will be called without the `error` and `retryCount` arguments.
-
- @default []
-
- @example
- ```
- const got = require('got');
-
- got.post('https://example.com', {
- hooks: {
- beforeRetry: [
- (options, error, retryCount) => {
- if (error.response.statusCode === 413) { // Payload too large
- options.body = getNewBody();
- }
- }
- ]
- }
- });
- ```
- */
- beforeRetry?: BeforeRetryHook[];
-}
-/**
-All available hook of Got.
-*/
-export interface Hooks extends PromiseOnly.Hooks, PlainHooks {
-}
-declare type PlainHookEvent = 'init' | 'beforeRequest' | 'beforeRedirect' | 'beforeError' | 'beforeRetry';
-/**
-All hook events acceptable by Got.
-*/
-export declare type HookEvent = PromiseOnly.HookEvent | PlainHookEvent;
-export declare const knownHookEvents: HookEvent[];
-declare type AcceptableResponse = IncomingMessageWithTimings | ResponseLike;
-declare type AcceptableRequestResult = AcceptableResponse | ClientRequest | Promise<AcceptableResponse | ClientRequest> | undefined;
-export declare type RequestFunction = (url: URL, options: RequestOptions, callback?: (response: AcceptableResponse) => void) => AcceptableRequestResult;
-export declare type Headers = Record<string, string | string[] | undefined>;
-declare type CheckServerIdentityFunction = (hostname: string, certificate: DetailedPeerCertificate) => Error | void;
-export declare type ParseJsonFunction = (text: string) => unknown;
-export declare type StringifyJsonFunction = (object: unknown) => string;
-export interface RetryObject {
- attemptCount: number;
- retryOptions: RequiredRetryOptions;
- error: TimeoutError | RequestError;
- computedValue: number;
- retryAfter?: number;
-}
-export declare type RetryFunction = (retryObject: RetryObject) => number | Promise<number>;
-/**
-An object representing `limit`, `calculateDelay`, `methods`, `statusCodes`, `maxRetryAfter` and `errorCodes` fields for maximum retry count, retry handler, allowed methods, allowed status codes, maximum [`Retry-After`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After) time and allowed error codes.
-
-Delays between retries counts with function `1000 * Math.pow(2, retry) + Math.random() * 100`, where `retry` is attempt number (starts from 1).
-
-The `calculateDelay` property is a `function` that receives an object with `attemptCount`, `retryOptions`, `error` and `computedValue` properties for current retry count, the retry options, error and default computed value.
-The function must return a delay in milliseconds (or a Promise resolving with it) (`0` return value cancels retry).
-
-By default, it retries *only* on the specified methods, status codes, and on these network errors:
-- `ETIMEDOUT`: One of the [timeout](#timeout) limits were reached.
-- `ECONNRESET`: Connection was forcibly closed by a peer.
-- `EADDRINUSE`: Could not bind to any free port.
-- `ECONNREFUSED`: Connection was refused by the server.
-- `EPIPE`: The remote side of the stream being written has been closed.
-- `ENOTFOUND`: Couldn't resolve the hostname to an IP address.
-- `ENETUNREACH`: No internet connection.
-- `EAI_AGAIN`: DNS lookup timed out.
-
-__Note__: If `maxRetryAfter` is set to `undefined`, it will use `options.timeout`.
-__Note__: If [`Retry-After`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After) header is greater than `maxRetryAfter`, it will cancel the request.
-*/
-export interface RequiredRetryOptions {
- limit: number;
- methods: Method[];
- statusCodes: number[];
- errorCodes: string[];
- calculateDelay: RetryFunction;
- maxRetryAfter?: number;
-}
-export interface CacheOptions {
- shared?: boolean;
- cacheHeuristic?: number;
- immutableMinTimeToLive?: number;
- ignoreCargoCult?: boolean;
-}
-interface PlainOptions extends URLOptions {
- /**
- Custom request function.
- The main purpose of this is to [support HTTP2 using a wrapper](https://github.com/szmarczak/http2-wrapper).
-
- @default http.request | https.request
- */
- request?: RequestFunction;
- /**
- An object representing `http`, `https` and `http2` keys for [`http.Agent`](https://nodejs.org/api/http.html#http_class_http_agent), [`https.Agent`](https://nodejs.org/api/https.html#https_class_https_agent) and [`http2wrapper.Agent`](https://github.com/szmarczak/http2-wrapper#new-http2agentoptions) instance.
- This is necessary because a request to one protocol might redirect to another.
- In such a scenario, Got will switch over to the right protocol agent for you.
-
- If a key is not present, it will default to a global agent.
-
- @example
- ```
- const got = require('got');
- const HttpAgent = require('agentkeepalive');
- const {HttpsAgent} = HttpAgent;
-
- got('https://sindresorhus.com', {
- agent: {
- http: new HttpAgent(),
- https: new HttpsAgent()
- }
- });
- ```
- */
- agent?: Agents | false;
- /**
- Decompress the response automatically.
- This will set the `accept-encoding` header to `gzip, deflate, br` on Node.js 11.7.0+ or `gzip, deflate` for older Node.js versions, unless you set it yourself.
-
- Brotli (`br`) support requires Node.js 11.7.0 or later.
-
- If this is disabled, a compressed response is returned as a `Buffer`.
- This may be useful if you want to handle decompression yourself or stream the raw compressed data.
-
- @default true
- */
- decompress?: boolean;
- /**
- Milliseconds to wait for the server to end the response before aborting the request with `got.TimeoutError` error (a.k.a. `request` property).
- By default, there's no timeout.
-
- This also accepts an `object` with the following fields to constrain the duration of each phase of the request lifecycle:
-
- - `lookup` starts when a socket is assigned and ends when the hostname has been resolved.
- Does not apply when using a Unix domain socket.
- - `connect` starts when `lookup` completes (or when the socket is assigned if lookup does not apply to the request) and ends when the socket is connected.
- - `secureConnect` starts when `connect` completes and ends when the handshaking process completes (HTTPS only).
- - `socket` starts when the socket is connected. See [request.setTimeout](https://nodejs.org/api/http.html#http_request_settimeout_timeout_callback).
- - `response` starts when the request has been written to the socket and ends when the response headers are received.
- - `send` starts when the socket is connected and ends with the request has been written to the socket.
- - `request` starts when the request is initiated and ends when the response's end event fires.
- */
- timeout?: Delays | number;
- /**
- When specified, `prefixUrl` will be prepended to `url`.
- The prefix can be any valid URL, either relative or absolute.
- A trailing slash `/` is optional - one will be added automatically.
-
- __Note__: `prefixUrl` will be ignored if the `url` argument is a URL instance.
-
- __Note__: Leading slashes in `input` are disallowed when using this option to enforce consistency and avoid confusion.
- For example, when the prefix URL is `https://example.com/foo` and the input is `/bar`, there's ambiguity whether the resulting URL would become `https://example.com/foo/bar` or `https://example.com/bar`.
- The latter is used by browsers.
-
- __Tip__: Useful when used with `got.extend()` to create niche-specific Got instances.
-
- __Tip__: You can change `prefixUrl` using hooks as long as the URL still includes the `prefixUrl`.
- If the URL doesn't include it anymore, it will throw.
-
- @example
- ```
- const got = require('got');
-
- (async () => {
- await got('unicorn', {prefixUrl: 'https://cats.com'});
- //=> 'https://cats.com/unicorn'
-
- const instance = got.extend({
- prefixUrl: 'https://google.com'
- });
-
- await instance('unicorn', {
- hooks: {
- beforeRequest: [
- options => {
- options.prefixUrl = 'https://cats.com';
- }
- ]
- }
- });
- //=> 'https://cats.com/unicorn'
- })();
- ```
- */
- prefixUrl?: string | URL;
- /**
- __Note #1__: The `body` option cannot be used with the `json` or `form` option.
-
- __Note #2__: If you provide this option, `got.stream()` will be read-only.
-
- __Note #3__: If you provide a payload with the `GET` or `HEAD` method, it will throw a `TypeError` unless the method is `GET` and the `allowGetBody` option is set to `true`.
-
- __Note #4__: This option is not enumerable and will not be merged with the instance defaults.
-
- The `content-length` header will be automatically set if `body` is a `string` / `Buffer` / `fs.createReadStream` instance / [`form-data` instance](https://github.com/form-data/form-data), and `content-length` and `transfer-encoding` are not manually set in `options.headers`.
- */
- body?: string | Buffer | Readable;
- /**
- The form body is converted to a query string using [`(new URLSearchParams(object)).toString()`](https://nodejs.org/api/url.html#url_constructor_new_urlsearchparams_obj).
-
- If the `Content-Type` header is not present, it will be set to `application/x-www-form-urlencoded`.
-
- __Note #1__: If you provide this option, `got.stream()` will be read-only.
-
- __Note #2__: This option is not enumerable and will not be merged with the instance defaults.
- */
- form?: Record<string, any>;
- /**
- JSON body. If the `Content-Type` header is not set, it will be set to `application/json`.
-
- __Note #1__: If you provide this option, `got.stream()` will be read-only.
-
- __Note #2__: This option is not enumerable and will not be merged with the instance defaults.
- */
- json?: Record<string, any>;
- /**
- The URL to request, as a string, a [`https.request` options object](https://nodejs.org/api/https.html#https_https_request_options_callback), or a [WHATWG `URL`](https://nodejs.org/api/url.html#url_class_url).
-
- Properties from `options` will override properties in the parsed `url`.
-
- If no protocol is specified, it will throw a `TypeError`.
-
- __Note__: The query string is **not** parsed as search params.
-
- @example
- ```
- got('https://example.com/?query=a b'); //=> https://example.com/?query=a%20b
- got('https://example.com/', {searchParams: {query: 'a b'}}); //=> https://example.com/?query=a+b
-
- // The query string is overridden by `searchParams`
- got('https://example.com/?query=a b', {searchParams: {query: 'a b'}}); //=> https://example.com/?query=a+b
- ```
- */
- url?: string | URL;
- /**
- Cookie support. You don't have to care about parsing or how to store them.
-
- __Note__: If you provide this option, `options.headers.cookie` will be overridden.
- */
- cookieJar?: PromiseCookieJar | ToughCookieJar;
- /**
- Ignore invalid cookies instead of throwing an error.
- Only useful when the `cookieJar` option has been set. Not recommended.
-
- @default false
- */
- ignoreInvalidCookies?: boolean;
- /**
- Query string that will be added to the request URL.
- This will override the query string in `url`.
-
- If you need to pass in an array, you can do it using a `URLSearchParams` instance.
-
- @example
- ```
- const got = require('got');
-
- const searchParams = new URLSearchParams([['key', 'a'], ['key', 'b']]);
-
- got('https://example.com', {searchParams});
-
- console.log(searchParams.toString());
- //=> 'key=a&key=b'
- ```
- */
- searchParams?: string | Record<string, string | number | boolean | null | undefined> | URLSearchParams;
- /**
- An instance of [`CacheableLookup`](https://github.com/szmarczak/cacheable-lookup) used for making DNS lookups.
- Useful when making lots of requests to different *public* hostnames.
-
- `CacheableLookup` uses `dns.resolver4(..)` and `dns.resolver6(...)` under the hood and fall backs to `dns.lookup(...)` when the first two fail, which may lead to additional delay.
-
- __Note__: This should stay disabled when making requests to internal hostnames such as `localhost`, `database.local` etc.
-
- @default false
- */
- dnsCache?: CacheableLookup | boolean;
- /**
- User data. In contrast to other options, `context` is not enumerable.
-
- __Note__: The object is never merged, it's just passed through.
- Got will not modify the object in any way.
-
- @example
- ```
- const got = require('got');
-
- const instance = got.extend({
- hooks: {
- beforeRequest: [
- options => {
- if (!options.context || !options.context.token) {
- throw new Error('Token required');
- }
-
- options.headers.token = options.context.token;
- }
- ]
- }
- });
-
- (async () => {
- const context = {
- token: 'secret'
- };
-
- const response = await instance('https://httpbin.org/headers', {context});
-
- // Let's see the headers
- console.log(response.body);
- })();
- ```
- */
- context?: Record<string, unknown>;
- /**
- Hooks allow modifications during the request lifecycle.
- Hook functions may be async and are run serially.
- */
- hooks?: Hooks;
- /**
- Defines if redirect responses should be followed automatically.
-
- Note that if a `303` is sent by the server in response to any request type (`POST`, `DELETE`, etc.), Got will automatically request the resource pointed to in the location header via `GET`.
- This is in accordance with [the spec](https://tools.ietf.org/html/rfc7231#section-6.4.4).
-
- @default true
- */
- followRedirect?: boolean;
- /**
- If exceeded, the request will be aborted and a `MaxRedirectsError` will be thrown.
-
- @default 10
- */
- maxRedirects?: number;
- /**
- A cache adapter instance for storing cached response data.
-
- @default false
- */
- cache?: string | CacheableRequest.StorageAdapter | false;
- /**
- Determines if a `got.HTTPError` is thrown for unsuccessful responses.
-
- If this is disabled, requests that encounter an error status code will be resolved with the `response` instead of throwing.
- This may be useful if you are checking for resource availability and are expecting error responses.
-
- @default true
- */
- throwHttpErrors?: boolean;
- username?: string;
- password?: string;
- /**
- If set to `true`, Got will additionally accept HTTP2 requests.
-
- It will choose either HTTP/1.1 or HTTP/2 depending on the ALPN protocol.
-
- __Note__: Overriding `options.request` will disable HTTP2 support.
-
- __Note__: This option will default to `true` in the next upcoming major release.
-
- @default false
-
- @example
- ```
- const got = require('got');
-
- (async () => {
- const {headers} = await got('https://nghttp2.org/httpbin/anything', {http2: true});
- console.log(headers.via);
- //=> '2 nghttpx'
- })();
- ```
- */
- http2?: boolean;
- /**
- Set this to `true` to allow sending body for the `GET` method.
- However, the [HTTP/2 specification](https://tools.ietf.org/html/rfc7540#section-8.1.3) says that `An HTTP GET request includes request header fields and no payload body`, therefore when using the HTTP/2 protocol this option will have no effect.
- This option is only meant to interact with non-compliant servers when you have no other choice.
-
- __Note__: The [RFC 7321](https://tools.ietf.org/html/rfc7231#section-4.3.1) doesn't specify any particular behavior for the GET method having a payload, therefore __it's considered an [anti-pattern](https://en.wikipedia.org/wiki/Anti-pattern)__.
-
- @default false
- */
- allowGetBody?: boolean;
- lookup?: CacheableLookup['lookup'];
- /**
- Request headers.
-
- Existing headers will be overwritten. Headers set to `undefined` will be omitted.
-
- @default {}
- */
- headers?: Headers;
- /**
- By default, redirects will use [method rewriting](https://tools.ietf.org/html/rfc7231#section-6.4).
- For example, when sending a POST request and receiving a `302`, it will resend the body to the new location using the same HTTP method (`POST` in this case).
-
- @default true
- */
- methodRewriting?: boolean;
- /**
- Indicates which DNS record family to use.
-
- Values:
- - `auto`: IPv4 (if present) or IPv6
- - `ipv4`: Only IPv4
- - `ipv6`: Only IPv6
-
- __Note__: If you are using the undocumented option `family`, `dnsLookupIpVersion` will override it.
-
- @default 'auto'
- */
- dnsLookupIpVersion?: DnsLookupIpVersion;
- /**
- A function used to parse JSON responses.
-
- @example
- ```
- const got = require('got');
- const Bourne = require('@hapi/bourne');
-
- (async () => {
- const parsed = await got('https://example.com', {
- parseJson: text => Bourne.parse(text)
- }).json();
-
- console.log(parsed);
- })();
- ```
- */
- parseJson?: ParseJsonFunction;
- /**
- A function used to stringify the body of JSON requests.
-
- @example
- ```
- const got = require('got');
-
- (async () => {
- await got.post('https://example.com', {
- stringifyJson: object => JSON.stringify(object, (key, value) => {
- if (key.startsWith('_')) {
- return;
- }
-
- return value;
- }),
- json: {
- some: 'payload',
- _ignoreMe: 1234
- }
- });
- })();
- ```
-
- @example
- ```
- const got = require('got');
-
- (async () => {
- await got.post('https://example.com', {
- stringifyJson: object => JSON.stringify(object, (key, value) => {
- if (typeof value === 'number') {
- return value.toString();
- }
-
- return value;
- }),
- json: {
- some: 'payload',
- number: 1
- }
- });
- })();
- ```
- */
- stringifyJson?: StringifyJsonFunction;
- /**
- An object representing `limit`, `calculateDelay`, `methods`, `statusCodes`, `maxRetryAfter` and `errorCodes` fields for maximum retry count, retry handler, allowed methods, allowed status codes, maximum [`Retry-After`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After) time and allowed error codes.
-
- Delays between retries counts with function `1000 * Math.pow(2, retry) + Math.random() * 100`, where `retry` is attempt number (starts from 1).
-
- The `calculateDelay` property is a `function` that receives an object with `attemptCount`, `retryOptions`, `error` and `computedValue` properties for current retry count, the retry options, error and default computed value.
- The function must return a delay in milliseconds (or a Promise resolving with it) (`0` return value cancels retry).
-
- By default, it retries *only* on the specified methods, status codes, and on these network errors:
-
- - `ETIMEDOUT`: One of the [timeout](#timeout) limits were reached.
- - `ECONNRESET`: Connection was forcibly closed by a peer.
- - `EADDRINUSE`: Could not bind to any free port.
- - `ECONNREFUSED`: Connection was refused by the server.
- - `EPIPE`: The remote side of the stream being written has been closed.
- - `ENOTFOUND`: Couldn't resolve the hostname to an IP address.
- - `ENETUNREACH`: No internet connection.
- - `EAI_AGAIN`: DNS lookup timed out.
-
- __Note__: If `maxRetryAfter` is set to `undefined`, it will use `options.timeout`.
- __Note__: If [`Retry-After`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After) header is greater than `maxRetryAfter`, it will cancel the request.
- */
- retry?: Partial<RequiredRetryOptions> | number;
- /**
- The IP address used to send the request from.
- */
- localAddress?: string;
- socketPath?: string;
- /**
- The HTTP method used to make the request.
-
- @default 'GET'
- */
- method?: Method;
- createConnection?: (options: http.RequestOptions, oncreate: (error: Error, socket: Socket) => void) => Socket;
- cacheOptions?: CacheOptions;
- /**
- If set to `false`, all invalid SSL certificates will be ignored and no error will be thrown.
-
- If set to `true`, it will throw an error whenever an invalid SSL certificate is detected.
-
- We strongly recommend to have this set to `true` for security reasons.
-
- @default true
-
- @example
- ```
- const got = require('got');
-
- (async () => {
- // Correct:
- await got('https://example.com', {rejectUnauthorized: true});
-
- // You can disable it when developing an HTTPS app:
- await got('https://localhost', {rejectUnauthorized: false});
-
- // Never do this:
- await got('https://example.com', {rejectUnauthorized: false});
- })();
- ```
- */
- rejectUnauthorized?: boolean;
- /**
- Options for the advanced HTTPS API.
- */
- https?: HTTPSOptions;
-}
-export interface Options extends PromiseOnly.Options, PlainOptions {
-}
-export interface HTTPSOptions {
- rejectUnauthorized?: https.RequestOptions['rejectUnauthorized'];
- checkServerIdentity?: CheckServerIdentityFunction;
- /**
- Override the default Certificate Authorities ([from Mozilla](https://ccadb-public.secure.force.com/mozilla/IncludedCACertificateReport)).
-
- @example
- ```
- // Single Certificate Authority
- got('https://example.com', {
- https: {
- certificateAuthority: fs.readFileSync('./my_ca.pem')
- }
- });
- ```
- */
- certificateAuthority?: SecureContextOptions['ca'];
- /**
- Private keys in [PEM](https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail) format.
-
- [PEM](https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail) allows the option of private keys being encrypted.
- Encrypted keys will be decrypted with `options.https.passphrase`.
-
- Multiple keys with different passphrases can be provided as an array of `{pem: <string | Buffer>, passphrase: <string>}`
- */
- key?: SecureContextOptions['key'];
- /**
- [Certificate chains](https://en.wikipedia.org/wiki/X.509#Certificate_chains_and_cross-certification) in [PEM](https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail) format.
-
- One cert chain should be provided per private key (`options.https.key`).
-
- When providing multiple cert chains, they do not have to be in the same order as their private keys in `options.https.key`.
-
- If the intermediate certificates are not provided, the peer will not be able to validate the certificate, and the handshake will fail.
- */
- certificate?: SecureContextOptions['cert'];
- /**
- The passphrase to decrypt the `options.https.key` (if different keys have different passphrases refer to `options.https.key` documentation).
- */
- passphrase?: SecureContextOptions['passphrase'];
- pfx?: SecureContextOptions['pfx'];
-}
-interface NormalizedPlainOptions extends PlainOptions {
- method: Method;
- url: URL;
- timeout: Delays;
- prefixUrl: string;
- ignoreInvalidCookies: boolean;
- decompress: boolean;
- searchParams?: URLSearchParams;
- cookieJar?: PromiseCookieJar;
- headers: Headers;
- context: Record<string, unknown>;
- hooks: Required<Hooks>;
- followRedirect: boolean;
- maxRedirects: number;
- cache?: string | CacheableRequest.StorageAdapter;
- throwHttpErrors: boolean;
- dnsCache?: CacheableLookup;
- http2: boolean;
- allowGetBody: boolean;
- rejectUnauthorized: boolean;
- lookup?: CacheableLookup['lookup'];
- methodRewriting: boolean;
- username: string;
- password: string;
- parseJson: ParseJsonFunction;
- stringifyJson: StringifyJsonFunction;
- retry: RequiredRetryOptions;
- cacheOptions: CacheOptions;
- [kRequest]: HttpRequestFunction;
- [kIsNormalizedAlready]?: boolean;
-}
-export interface NormalizedOptions extends PromiseOnly.NormalizedOptions, NormalizedPlainOptions {
-}
-interface PlainDefaults {
- timeout: Delays;
- prefixUrl: string;
- method: Method;
- ignoreInvalidCookies: boolean;
- decompress: boolean;
- context: Record<string, unknown>;
- cookieJar?: PromiseCookieJar | ToughCookieJar;
- dnsCache?: CacheableLookup;
- headers: Headers;
- hooks: Required<Hooks>;
- followRedirect: boolean;
- maxRedirects: number;
- cache?: string | CacheableRequest.StorageAdapter;
- throwHttpErrors: boolean;
- http2: boolean;
- allowGetBody: boolean;
- https?: HTTPSOptions;
- methodRewriting: boolean;
- parseJson: ParseJsonFunction;
- stringifyJson: StringifyJsonFunction;
- retry: RequiredRetryOptions;
- agent?: Agents | false;
- request?: RequestFunction;
- searchParams?: URLSearchParams;
- lookup?: CacheableLookup['lookup'];
- localAddress?: string;
- createConnection?: Options['createConnection'];
- cacheOptions: CacheOptions;
-}
-export interface Defaults extends PromiseOnly.Defaults, PlainDefaults {
-}
-export interface Progress {
- percent: number;
- transferred: number;
- total?: number;
-}
-export interface PlainResponse extends IncomingMessageWithTimings {
- /**
- The original request URL.
- */
- requestUrl: string;
- /**
- The redirect URLs.
- */
- redirectUrls: string[];
- /**
- - `options` - The Got options that were set on this request.
-
- __Note__: This is not a [http.ClientRequest](https://nodejs.org/api/http.html#http_class_http_clientrequest).
- */
- request: Request;
- /**
- The remote IP address.
-
- This is hopefully a temporary limitation, see [lukechilds/cacheable-request#86](https://github.com/lukechilds/cacheable-request/issues/86).
-
- __Note__: Not available when the response is cached.
- */
- ip?: string;
- /**
- Whether the response was retrieved from the cache.
- */
- isFromCache: boolean;
- /**
- The status code of the response.
- */
- statusCode: number;
- /**
- The request URL or the final URL after redirects.
- */
- url: string;
- /**
- The object contains the following properties:
-
- - `start` - Time when the request started.
- - `socket` - Time when a socket was assigned to the request.
- - `lookup` - Time when the DNS lookup finished.
- - `connect` - Time when the socket successfully connected.
- - `secureConnect` - Time when the socket securely connected.
- - `upload` - Time when the request finished uploading.
- - `response` - Time when the request fired `response` event.
- - `end` - Time when the response fired `end` event.
- - `error` - Time when the request fired `error` event.
- - `abort` - Time when the request fired `abort` event.
- - `phases`
- - `wait` - `timings.socket - timings.start`
- - `dns` - `timings.lookup - timings.socket`
- - `tcp` - `timings.connect - timings.lookup`
- - `tls` - `timings.secureConnect - timings.connect`
- - `request` - `timings.upload - (timings.secureConnect || timings.connect)`
- - `firstByte` - `timings.response - timings.upload`
- - `download` - `timings.end - timings.response`
- - `total` - `(timings.end || timings.error || timings.abort) - timings.start`
-
- If something has not been measured yet, it will be `undefined`.
-
- __Note__: The time is a `number` representing the milliseconds elapsed since the UNIX epoch.
- */
- timings: Timings;
- /**
- The number of times the request was retried.
- */
- retryCount: number;
- /**
- The raw result of the request.
- */
- rawBody?: Buffer;
- /**
- The result of the request.
- */
- body?: unknown;
-}
-export interface Response<T = unknown> extends PlainResponse {
- /**
- The result of the request.
- */
- body: T;
- /**
- The raw result of the request.
- */
- rawBody: Buffer;
-}
-export interface RequestEvents<T> {
- /**
- `request` event to get the request object of the request.
-
- __Tip__: You can use `request` event to abort requests.
-
- @example
- ```
- got.stream('https://github.com')
- .on('request', request => setTimeout(() => request.destroy(), 50));
- ```
- */
- on: ((name: 'request', listener: (request: http.ClientRequest) => void) => T)
- /**
- The `response` event to get the response object of the final request.
- */
- & (<R extends Response>(name: 'response', listener: (response: R) => void) => T)
- /**
- The `redirect` event to get the response object of a redirect. The second argument is options for the next request to the redirect location.
- */
- & (<R extends Response, N extends NormalizedOptions>(name: 'redirect', listener: (response: R, nextOptions: N) => void) => T)
- /**
- Progress events for uploading (sending a request) and downloading (receiving a response).
- The `progress` argument is an object like:
-
- ```js
- {
- percent: 0.1,
- transferred: 1024,
- total: 10240
- }
- ```
-
- If the `content-length` header is missing, `total` will be `undefined`.
-
- @example
- ```js
- (async () => {
- const response = await got('https://sindresorhus.com')
- .on('downloadProgress', progress => {
- // Report download progress
- })
- .on('uploadProgress', progress => {
- // Report upload progress
- });
-
- console.log(response);
- })();
- ```
- */
- & ((name: 'uploadProgress' | 'downloadProgress', listener: (progress: Progress) => void) => T)
- /**
- To enable retrying on a Got stream, it is required to have a `retry` handler attached.
-
- When this event is emitted, you should reset the stream you were writing to and prepare the body again.
-
- See `got.options.retry` for more information.
- */
- & ((name: 'retry', listener: (retryCount: number, error: RequestError) => void) => T);
-}
-export declare const setNonEnumerableProperties: (sources: Array<Options | Defaults | undefined>, to: Options) => void;
-/**
-An error to be thrown when a request fails.
-Contains a `code` property with error class code, like `ECONNREFUSED`.
-*/
-export declare class RequestError extends Error {
- code: string;
- stack: string;
- readonly options: NormalizedOptions;
- readonly response?: Response;
- readonly request?: Request;
- readonly timings?: Timings;
- constructor(message: string, error: Partial<Error & {
- code?: string;
- }>, self: Request | NormalizedOptions);
-}
-/**
-An error to be thrown when the server redirects you more than ten times.
-Includes a `response` property.
-*/
-export declare class MaxRedirectsError extends RequestError {
- readonly response: Response;
- readonly request: Request;
- readonly timings: Timings;
- constructor(request: Request);
-}
-/**
-An error to be thrown when the server response code is not 2xx nor 3xx if `options.followRedirect` is `true`, but always except for 304.
-Includes a `response` property.
-*/
-export declare class HTTPError extends RequestError {
- readonly response: Response;
- readonly request: Request;
- readonly timings: Timings;
- constructor(response: Response);
-}
-/**
-An error to be thrown when a cache method fails.
-For example, if the database goes down or there's a filesystem error.
-*/
-export declare class CacheError extends RequestError {
- readonly request: Request;
- constructor(error: Error, request: Request);
-}
-/**
-An error to be thrown when the request body is a stream and an error occurs while reading from that stream.
-*/
-export declare class UploadError extends RequestError {
- readonly request: Request;
- constructor(error: Error, request: Request);
-}
-/**
-An error to be thrown when the request is aborted due to a timeout.
-Includes an `event` and `timings` property.
-*/
-export declare class TimeoutError extends RequestError {
- readonly request: Request;
- readonly timings: Timings;
- readonly event: string;
- constructor(error: TimedOutTimeoutError, timings: Timings, request: Request);
-}
-/**
-An error to be thrown when reading from response stream fails.
-*/
-export declare class ReadError extends RequestError {
- readonly request: Request;
- readonly response: Response;
- readonly timings: Timings;
- constructor(error: Error, request: Request);
-}
-/**
-An error to be thrown when given an unsupported protocol.
-*/
-export declare class UnsupportedProtocolError extends RequestError {
- constructor(options: NormalizedOptions);
-}
-export default class Request extends Duplex implements RequestEvents<Request> {
- ['constructor']: typeof Request;
- [kUnproxyEvents]: () => void;
- _cannotHaveBody: boolean;
- [kDownloadedSize]: number;
- [kUploadedSize]: number;
- [kStopReading]: boolean;
- [kTriggerRead]: boolean;
- [kBody]: Options['body'];
- [kJobs]: Array<() => void>;
- [kRetryTimeout]?: NodeJS.Timeout;
- [kBodySize]?: number;
- [kServerResponsesPiped]: Set<ServerResponse>;
- [kIsFromCache]?: boolean;
- [kStartedReading]?: boolean;
- [kCancelTimeouts]?: () => void;
- [kResponseSize]?: number;
- [kResponse]?: IncomingMessageWithTimings;
- [kOriginalResponse]?: IncomingMessageWithTimings;
- [kRequest]?: ClientRequest;
- _noPipe?: boolean;
- _progressCallbacks: Array<() => void>;
- options: NormalizedOptions;
- requestUrl: string;
- requestInitialized: boolean;
- redirects: string[];
- retryCount: number;
- constructor(url: string | URL | undefined, options?: Options, defaults?: Defaults);
- static normalizeArguments(url?: string | URL, options?: Options, defaults?: Defaults): NormalizedOptions;
- _lockWrite(): void;
- _unlockWrite(): void;
- _finalizeBody(): Promise<void>;
- _onResponseBase(response: IncomingMessageWithTimings): Promise<void>;
- _onResponse(response: IncomingMessageWithTimings): Promise<void>;
- _onRequest(request: ClientRequest): void;
- _createCacheableRequest(url: URL, options: RequestOptions): Promise<ClientRequest | ResponseLike>;
- _makeRequest(): Promise<void>;
- _error(error: RequestError): Promise<void>;
- _beforeError(error: Error): void;
- _read(): void;
- _write(chunk: any, encoding: string | undefined, callback: (error?: Error | null) => void): void;
- _writeRequest(chunk: any, encoding: BufferEncoding | undefined, callback: (error?: Error | null) => void): void;
- _final(callback: (error?: Error | null) => void): void;
- _destroy(error: Error | null, callback: (error: Error | null) => void): void;
- get _isAboutToError(): boolean;
- /**
- The remote IP address.
- */
- get ip(): string | undefined;
- /**
- Indicates whether the request has been aborted or not.
- */
- get aborted(): boolean;
- get socket(): Socket | undefined;
- /**
- Progress event for downloading (receiving a response).
- */
- get downloadProgress(): Progress;
- /**
- Progress event for uploading (sending a request).
- */
- get uploadProgress(): Progress;
- /**
- The object contains the following properties:
-
- - `start` - Time when the request started.
- - `socket` - Time when a socket was assigned to the request.
- - `lookup` - Time when the DNS lookup finished.
- - `connect` - Time when the socket successfully connected.
- - `secureConnect` - Time when the socket securely connected.
- - `upload` - Time when the request finished uploading.
- - `response` - Time when the request fired `response` event.
- - `end` - Time when the response fired `end` event.
- - `error` - Time when the request fired `error` event.
- - `abort` - Time when the request fired `abort` event.
- - `phases`
- - `wait` - `timings.socket - timings.start`
- - `dns` - `timings.lookup - timings.socket`
- - `tcp` - `timings.connect - timings.lookup`
- - `tls` - `timings.secureConnect - timings.connect`
- - `request` - `timings.upload - (timings.secureConnect || timings.connect)`
- - `firstByte` - `timings.response - timings.upload`
- - `download` - `timings.end - timings.response`
- - `total` - `(timings.end || timings.error || timings.abort) - timings.start`
-
- If something has not been measured yet, it will be `undefined`.
-
- __Note__: The time is a `number` representing the milliseconds elapsed since the UNIX epoch.
- */
- get timings(): Timings | undefined;
- /**
- Whether the response was retrieved from the cache.
- */
- get isFromCache(): boolean | undefined;
- pipe<T extends NodeJS.WritableStream>(destination: T, options?: {
- end?: boolean;
- }): T;
- unpipe<T extends NodeJS.WritableStream>(destination: T): this;
-}
-export {};
diff --git a/node_modules/got/dist/source/core/index.js b/node_modules/got/dist/source/core/index.js
deleted file mode 100644
index c6cebd5..0000000
--- a/node_modules/got/dist/source/core/index.js
+++ /dev/null
@@ -1,1505 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.UnsupportedProtocolError = exports.ReadError = exports.TimeoutError = exports.UploadError = exports.CacheError = exports.HTTPError = exports.MaxRedirectsError = exports.RequestError = exports.setNonEnumerableProperties = exports.knownHookEvents = exports.withoutBody = exports.kIsNormalizedAlready = void 0;
-const util_1 = require("util");
-const stream_1 = require("stream");
-const fs_1 = require("fs");
-const url_1 = require("url");
-const http = require("http");
-const http_1 = require("http");
-const https = require("https");
-const http_timer_1 = require("@szmarczak/http-timer");
-const cacheable_lookup_1 = require("cacheable-lookup");
-const CacheableRequest = require("cacheable-request");
-const decompressResponse = require("decompress-response");
-// @ts-expect-error Missing types
-const http2wrapper = require("http2-wrapper");
-const lowercaseKeys = require("lowercase-keys");
-const is_1 = require("@sindresorhus/is");
-const get_body_size_1 = require("./utils/get-body-size");
-const is_form_data_1 = require("./utils/is-form-data");
-const proxy_events_1 = require("./utils/proxy-events");
-const timed_out_1 = require("./utils/timed-out");
-const url_to_options_1 = require("./utils/url-to-options");
-const options_to_url_1 = require("./utils/options-to-url");
-const weakable_map_1 = require("./utils/weakable-map");
-const get_buffer_1 = require("./utils/get-buffer");
-const dns_ip_version_1 = require("./utils/dns-ip-version");
-const is_response_ok_1 = require("./utils/is-response-ok");
-const deprecation_warning_1 = require("../utils/deprecation-warning");
-const normalize_arguments_1 = require("../as-promise/normalize-arguments");
-const calculate_retry_delay_1 = require("./calculate-retry-delay");
-let globalDnsCache;
-const kRequest = Symbol('request');
-const kResponse = Symbol('response');
-const kResponseSize = Symbol('responseSize');
-const kDownloadedSize = Symbol('downloadedSize');
-const kBodySize = Symbol('bodySize');
-const kUploadedSize = Symbol('uploadedSize');
-const kServerResponsesPiped = Symbol('serverResponsesPiped');
-const kUnproxyEvents = Symbol('unproxyEvents');
-const kIsFromCache = Symbol('isFromCache');
-const kCancelTimeouts = Symbol('cancelTimeouts');
-const kStartedReading = Symbol('startedReading');
-const kStopReading = Symbol('stopReading');
-const kTriggerRead = Symbol('triggerRead');
-const kBody = Symbol('body');
-const kJobs = Symbol('jobs');
-const kOriginalResponse = Symbol('originalResponse');
-const kRetryTimeout = Symbol('retryTimeout');
-exports.kIsNormalizedAlready = Symbol('isNormalizedAlready');
-const supportsBrotli = is_1.default.string(process.versions.brotli);
-exports.withoutBody = new Set(['GET', 'HEAD']);
-exports.knownHookEvents = [
- 'init',
- 'beforeRequest',
- 'beforeRedirect',
- 'beforeError',
- 'beforeRetry',
- // Promise-Only
- 'afterResponse'
-];
-function validateSearchParameters(searchParameters) {
- // eslint-disable-next-line guard-for-in
- for (const key in searchParameters) {
- const value = searchParameters[key];
- if (!is_1.default.string(value) && !is_1.default.number(value) && !is_1.default.boolean(value) && !is_1.default.null_(value) && !is_1.default.undefined(value)) {
- throw new TypeError(`The \`searchParams\` value '${String(value)}' must be a string, number, boolean or null`);
- }
- }
-}
-function isClientRequest(clientRequest) {
- return is_1.default.object(clientRequest) && !('statusCode' in clientRequest);
-}
-const cacheableStore = new weakable_map_1.default();
-const waitForOpenFile = async (file) => new Promise((resolve, reject) => {
- const onError = (error) => {
- reject(error);
- };
- // Node.js 12 has incomplete types
- if (!file.pending) {
- resolve();
- }
- file.once('error', onError);
- file.once('ready', () => {
- file.off('error', onError);
- resolve();
- });
-});
-const redirectCodes = new Set([300, 301, 302, 303, 304, 307, 308]);
-const nonEnumerableProperties = [
- 'context',
- 'body',
- 'json',
- 'form'
-];
-exports.setNonEnumerableProperties = (sources, to) => {
- // Non enumerable properties shall not be merged
- const properties = {};
- for (const source of sources) {
- if (!source) {
- continue;
- }
- for (const name of nonEnumerableProperties) {
- if (!(name in source)) {
- continue;
- }
- properties[name] = {
- writable: true,
- configurable: true,
- enumerable: false,
- // @ts-expect-error TS doesn't see the check above
- value: source[name]
- };
- }
- }
- Object.defineProperties(to, properties);
-};
-/**
-An error to be thrown when a request fails.
-Contains a `code` property with error class code, like `ECONNREFUSED`.
-*/
-class RequestError extends Error {
- constructor(message, error, self) {
- var _a, _b;
- super(message);
- Error.captureStackTrace(this, this.constructor);
- this.name = 'RequestError';
- this.code = (_a = error.code) !== null && _a !== void 0 ? _a : 'ERR_GOT_REQUEST_ERROR';
- if (self instanceof Request) {
- Object.defineProperty(this, 'request', {
- enumerable: false,
- value: self
- });
- Object.defineProperty(this, 'response', {
- enumerable: false,
- value: self[kResponse]
- });
- Object.defineProperty(this, 'options', {
- // This fails because of TS 3.7.2 useDefineForClassFields
- // Ref: https://github.com/microsoft/TypeScript/issues/34972
- enumerable: false,
- value: self.options
- });
- }
- else {
- Object.defineProperty(this, 'options', {
- // This fails because of TS 3.7.2 useDefineForClassFields
- // Ref: https://github.com/microsoft/TypeScript/issues/34972
- enumerable: false,
- value: self
- });
- }
- this.timings = (_b = this.request) === null || _b === void 0 ? void 0 : _b.timings;
- // Recover the original stacktrace
- if (is_1.default.string(error.stack) && is_1.default.string(this.stack)) {
- const indexOfMessage = this.stack.indexOf(this.message) + this.message.length;
- const thisStackTrace = this.stack.slice(indexOfMessage).split('\n').reverse();
- const errorStackTrace = error.stack.slice(error.stack.indexOf(error.message) + error.message.length).split('\n').reverse();
- // Remove duplicated traces
- while (errorStackTrace.length !== 0 && errorStackTrace[0] === thisStackTrace[0]) {
- thisStackTrace.shift();
- }
- this.stack = `${this.stack.slice(0, indexOfMessage)}${thisStackTrace.reverse().join('\n')}${errorStackTrace.reverse().join('\n')}`;
- }
- }
-}
-exports.RequestError = RequestError;
-/**
-An error to be thrown when the server redirects you more than ten times.
-Includes a `response` property.
-*/
-class MaxRedirectsError extends RequestError {
- constructor(request) {
- super(`Redirected ${request.options.maxRedirects} times. Aborting.`, {}, request);
- this.name = 'MaxRedirectsError';
- this.code = 'ERR_TOO_MANY_REDIRECTS';
- }
-}
-exports.MaxRedirectsError = MaxRedirectsError;
-/**
-An error to be thrown when the server response code is not 2xx nor 3xx if `options.followRedirect` is `true`, but always except for 304.
-Includes a `response` property.
-*/
-class HTTPError extends RequestError {
- constructor(response) {
- super(`Response code ${response.statusCode} (${response.statusMessage})`, {}, response.request);
- this.name = 'HTTPError';
- this.code = 'ERR_NON_2XX_3XX_RESPONSE';
- }
-}
-exports.HTTPError = HTTPError;
-/**
-An error to be thrown when a cache method fails.
-For example, if the database goes down or there's a filesystem error.
-*/
-class CacheError extends RequestError {
- constructor(error, request) {
- super(error.message, error, request);
- this.name = 'CacheError';
- this.code = this.code === 'ERR_GOT_REQUEST_ERROR' ? 'ERR_CACHE_ACCESS' : this.code;
- }
-}
-exports.CacheError = CacheError;
-/**
-An error to be thrown when the request body is a stream and an error occurs while reading from that stream.
-*/
-class UploadError extends RequestError {
- constructor(error, request) {
- super(error.message, error, request);
- this.name = 'UploadError';
- this.code = this.code === 'ERR_GOT_REQUEST_ERROR' ? 'ERR_UPLOAD' : this.code;
- }
-}
-exports.UploadError = UploadError;
-/**
-An error to be thrown when the request is aborted due to a timeout.
-Includes an `event` and `timings` property.
-*/
-class TimeoutError extends RequestError {
- constructor(error, timings, request) {
- super(error.message, error, request);
- this.name = 'TimeoutError';
- this.event = error.event;
- this.timings = timings;
- }
-}
-exports.TimeoutError = TimeoutError;
-/**
-An error to be thrown when reading from response stream fails.
-*/
-class ReadError extends RequestError {
- constructor(error, request) {
- super(error.message, error, request);
- this.name = 'ReadError';
- this.code = this.code === 'ERR_GOT_REQUEST_ERROR' ? 'ERR_READING_RESPONSE_STREAM' : this.code;
- }
-}
-exports.ReadError = ReadError;
-/**
-An error to be thrown when given an unsupported protocol.
-*/
-class UnsupportedProtocolError extends RequestError {
- constructor(options) {
- super(`Unsupported protocol "${options.url.protocol}"`, {}, options);
- this.name = 'UnsupportedProtocolError';
- this.code = 'ERR_UNSUPPORTED_PROTOCOL';
- }
-}
-exports.UnsupportedProtocolError = UnsupportedProtocolError;
-const proxiedRequestEvents = [
- 'socket',
- 'connect',
- 'continue',
- 'information',
- 'upgrade',
- 'timeout'
-];
-class Request extends stream_1.Duplex {
- constructor(url, options = {}, defaults) {
- super({
- // This must be false, to enable throwing after destroy
- // It is used for retry logic in Promise API
- autoDestroy: false,
- // It needs to be zero because we're just proxying the data to another stream
- highWaterMark: 0
- });
- this[kDownloadedSize] = 0;
- this[kUploadedSize] = 0;
- this.requestInitialized = false;
- this[kServerResponsesPiped] = new Set();
- this.redirects = [];
- this[kStopReading] = false;
- this[kTriggerRead] = false;
- this[kJobs] = [];
- this.retryCount = 0;
- // TODO: Remove this when targeting Node.js >= 12
- this._progressCallbacks = [];
- const unlockWrite = () => this._unlockWrite();
- const lockWrite = () => this._lockWrite();
- this.on('pipe', (source) => {
- source.prependListener('data', unlockWrite);
- source.on('data', lockWrite);
- source.prependListener('end', unlockWrite);
- source.on('end', lockWrite);
- });
- this.on('unpipe', (source) => {
- source.off('data', unlockWrite);
- source.off('data', lockWrite);
- source.off('end', unlockWrite);
- source.off('end', lockWrite);
- });
- this.on('pipe', source => {
- if (source instanceof http_1.IncomingMessage) {
- this.options.headers = {
- ...source.headers,
- ...this.options.headers
- };
- }
- });
- const { json, body, form } = options;
- if (json || body || form) {
- this._lockWrite();
- }
- if (exports.kIsNormalizedAlready in options) {
- this.options = options;
- }
- else {
- try {
- // @ts-expect-error Common TypeScript bug saying that `this.constructor` is not accessible
- this.options = this.constructor.normalizeArguments(url, options, defaults);
- }
- catch (error) {
- // TODO: Move this to `_destroy()`
- if (is_1.default.nodeStream(options.body)) {
- options.body.destroy();
- }
- this.destroy(error);
- return;
- }
- }
- (async () => {
- var _a;
- try {
- if (this.options.body instanceof fs_1.ReadStream) {
- await waitForOpenFile(this.options.body);
- }
- const { url: normalizedURL } = this.options;
- if (!normalizedURL) {
- throw new TypeError('Missing `url` property');
- }
- this.requestUrl = normalizedURL.toString();
- decodeURI(this.requestUrl);
- await this._finalizeBody();
- await this._makeRequest();
- if (this.destroyed) {
- (_a = this[kRequest]) === null || _a === void 0 ? void 0 : _a.destroy();
- return;
- }
- // Queued writes etc.
- for (const job of this[kJobs]) {
- job();
- }
- // Prevent memory leak
- this[kJobs].length = 0;
- this.requestInitialized = true;
- }
- catch (error) {
- if (error instanceof RequestError) {
- this._beforeError(error);
- return;
- }
- // This is a workaround for https://github.com/nodejs/node/issues/33335
- if (!this.destroyed) {
- this.destroy(error);
- }
- }
- })();
- }
- static normalizeArguments(url, options, defaults) {
- var _a, _b, _c, _d, _e;
- const rawOptions = options;
- if (is_1.default.object(url) && !is_1.default.urlInstance(url)) {
- options = { ...defaults, ...url, ...options };
- }
- else {
- if (url && options && options.url !== undefined) {
- throw new TypeError('The `url` option is mutually exclusive with the `input` argument');
- }
- options = { ...defaults, ...options };
- if (url !== undefined) {
- options.url = url;
- }
- if (is_1.default.urlInstance(options.url)) {
- options.url = new url_1.URL(options.url.toString());
- }
- }
- // TODO: Deprecate URL options in Got 12.
- // Support extend-specific options
- if (options.cache === false) {
- options.cache = undefined;
- }
- if (options.dnsCache === false) {
- options.dnsCache = undefined;
- }
- // Nice type assertions
- is_1.assert.any([is_1.default.string, is_1.default.undefined], options.method);
- is_1.assert.any([is_1.default.object, is_1.default.undefined], options.headers);
- is_1.assert.any([is_1.default.string, is_1.default.urlInstance, is_1.default.undefined], options.prefixUrl);
- is_1.assert.any([is_1.default.object, is_1.default.undefined], options.cookieJar);
- is_1.assert.any([is_1.default.object, is_1.default.string, is_1.default.undefined], options.searchParams);
- is_1.assert.any([is_1.default.object, is_1.default.string, is_1.default.undefined], options.cache);
- is_1.assert.any([is_1.default.object, is_1.default.number, is_1.default.undefined], options.timeout);
- is_1.assert.any([is_1.default.object, is_1.default.undefined], options.context);
- is_1.assert.any([is_1.default.object, is_1.default.undefined], options.hooks);
- is_1.assert.any([is_1.default.boolean, is_1.default.undefined], options.decompress);
- is_1.assert.any([is_1.default.boolean, is_1.default.undefined], options.ignoreInvalidCookies);
- is_1.assert.any([is_1.default.boolean, is_1.default.undefined], options.followRedirect);
- is_1.assert.any([is_1.default.number, is_1.default.undefined], options.maxRedirects);
- is_1.assert.any([is_1.default.boolean, is_1.default.undefined], options.throwHttpErrors);
- is_1.assert.any([is_1.default.boolean, is_1.default.undefined], options.http2);
- is_1.assert.any([is_1.default.boolean, is_1.default.undefined], options.allowGetBody);
- is_1.assert.any([is_1.default.string, is_1.default.undefined], options.localAddress);
- is_1.assert.any([dns_ip_version_1.isDnsLookupIpVersion, is_1.default.undefined], options.dnsLookupIpVersion);
- is_1.assert.any([is_1.default.object, is_1.default.undefined], options.https);
- is_1.assert.any([is_1.default.boolean, is_1.default.undefined], options.rejectUnauthorized);
- if (options.https) {
- is_1.assert.any([is_1.default.boolean, is_1.default.undefined], options.https.rejectUnauthorized);
- is_1.assert.any([is_1.default.function_, is_1.default.undefined], options.https.checkServerIdentity);
- is_1.assert.any([is_1.default.string, is_1.default.object, is_1.default.array, is_1.default.undefined], options.https.certificateAuthority);
- is_1.assert.any([is_1.default.string, is_1.default.object, is_1.default.array, is_1.default.undefined], options.https.key);
- is_1.assert.any([is_1.default.string, is_1.default.object, is_1.default.array, is_1.default.undefined], options.https.certificate);
- is_1.assert.any([is_1.default.string, is_1.default.undefined], options.https.passphrase);
- is_1.assert.any([is_1.default.string, is_1.default.buffer, is_1.default.array, is_1.default.undefined], options.https.pfx);
- }
- is_1.assert.any([is_1.default.object, is_1.default.undefined], options.cacheOptions);
- // `options.method`
- if (is_1.default.string(options.method)) {
- options.method = options.method.toUpperCase();
- }
- else {
- options.method = 'GET';
- }
- // `options.headers`
- if (options.headers === (defaults === null || defaults === void 0 ? void 0 : defaults.headers)) {
- options.headers = { ...options.headers };
- }
- else {
- options.headers = lowercaseKeys({ ...(defaults === null || defaults === void 0 ? void 0 : defaults.headers), ...options.headers });
- }
- // Disallow legacy `url.Url`
- if ('slashes' in options) {
- throw new TypeError('The legacy `url.Url` has been deprecated. Use `URL` instead.');
- }
- // `options.auth`
- if ('auth' in options) {
- throw new TypeError('Parameter `auth` is deprecated. Use `username` / `password` instead.');
- }
- // `options.searchParams`
- if ('searchParams' in options) {
- if (options.searchParams && options.searchParams !== (defaults === null || defaults === void 0 ? void 0 : defaults.searchParams)) {
- let searchParameters;
- if (is_1.default.string(options.searchParams) || (options.searchParams instanceof url_1.URLSearchParams)) {
- searchParameters = new url_1.URLSearchParams(options.searchParams);
- }
- else {
- validateSearchParameters(options.searchParams);
- searchParameters = new url_1.URLSearchParams();
- // eslint-disable-next-line guard-for-in
- for (const key in options.searchParams) {
- const value = options.searchParams[key];
- if (value === null) {
- searchParameters.append(key, '');
- }
- else if (value !== undefined) {
- searchParameters.append(key, value);
- }
- }
- }
- // `normalizeArguments()` is also used to merge options
- (_a = defaults === null || defaults === void 0 ? void 0 : defaults.searchParams) === null || _a === void 0 ? void 0 : _a.forEach((value, key) => {
- // Only use default if one isn't already defined
- if (!searchParameters.has(key)) {
- searchParameters.append(key, value);
- }
- });
- options.searchParams = searchParameters;
- }
- }
- // `options.username` & `options.password`
- options.username = (_b = options.username) !== null && _b !== void 0 ? _b : '';
- options.password = (_c = options.password) !== null && _c !== void 0 ? _c : '';
- // `options.prefixUrl` & `options.url`
- if (is_1.default.undefined(options.prefixUrl)) {
- options.prefixUrl = (_d = defaults === null || defaults === void 0 ? void 0 : defaults.prefixUrl) !== null && _d !== void 0 ? _d : '';
- }
- else {
- options.prefixUrl = options.prefixUrl.toString();
- if (options.prefixUrl !== '' && !options.prefixUrl.endsWith('/')) {
- options.prefixUrl += '/';
- }
- }
- if (is_1.default.string(options.url)) {
- if (options.url.startsWith('/')) {
- throw new Error('`input` must not start with a slash when using `prefixUrl`');
- }
- options.url = options_to_url_1.default(options.prefixUrl + options.url, options);
- }
- else if ((is_1.default.undefined(options.url) && options.prefixUrl !== '') || options.protocol) {
- options.url = options_to_url_1.default(options.prefixUrl, options);
- }
- if (options.url) {
- if ('port' in options) {
- delete options.port;
- }
- // Make it possible to change `options.prefixUrl`
- let { prefixUrl } = options;
- Object.defineProperty(options, 'prefixUrl', {
- set: (value) => {
- const url = options.url;
- if (!url.href.startsWith(value)) {
- throw new Error(`Cannot change \`prefixUrl\` from ${prefixUrl} to ${value}: ${url.href}`);
- }
- options.url = new url_1.URL(value + url.href.slice(prefixUrl.length));
- prefixUrl = value;
- },
- get: () => prefixUrl
- });
- // Support UNIX sockets
- let { protocol } = options.url;
- if (protocol === 'unix:') {
- protocol = 'http:';
- options.url = new url_1.URL(`http://unix${options.url.pathname}${options.url.search}`);
- }
- // Set search params
- if (options.searchParams) {
- // eslint-disable-next-line @typescript-eslint/no-base-to-string
- options.url.search = options.searchParams.toString();
- }
- // Protocol check
- if (protocol !== 'http:' && protocol !== 'https:') {
- throw new UnsupportedProtocolError(options);
- }
- // Update `username`
- if (options.username === '') {
- options.username = options.url.username;
- }
- else {
- options.url.username = options.username;
- }
- // Update `password`
- if (options.password === '') {
- options.password = options.url.password;
- }
- else {
- options.url.password = options.password;
- }
- }
- // `options.cookieJar`
- const { cookieJar } = options;
- if (cookieJar) {
- let { setCookie, getCookieString } = cookieJar;
- is_1.assert.function_(setCookie);
- is_1.assert.function_(getCookieString);
- /* istanbul ignore next: Horrible `tough-cookie` v3 check */
- if (setCookie.length === 4 && getCookieString.length === 0) {
- setCookie = util_1.promisify(setCookie.bind(options.cookieJar));
- getCookieString = util_1.promisify(getCookieString.bind(options.cookieJar));
- options.cookieJar = {
- setCookie,
- getCookieString: getCookieString
- };
- }
- }
- // `options.cache`
- const { cache } = options;
- if (cache) {
- if (!cacheableStore.has(cache)) {
- cacheableStore.set(cache, new CacheableRequest(((requestOptions, handler) => {
- const result = requestOptions[kRequest](requestOptions, handler);
- // TODO: remove this when `cacheable-request` supports async request functions.
- if (is_1.default.promise(result)) {
- // @ts-expect-error
- // We only need to implement the error handler in order to support HTTP2 caching.
- // The result will be a promise anyway.
- result.once = (event, handler) => {
- if (event === 'error') {
- result.catch(handler);
- }
- else if (event === 'abort') {
- // The empty catch is needed here in case when
- // it rejects before it's `await`ed in `_makeRequest`.
- (async () => {
- try {
- const request = (await result);
- request.once('abort', handler);
- }
- catch (_a) { }
- })();
- }
- else {
- /* istanbul ignore next: safety check */
- throw new Error(`Unknown HTTP2 promise event: ${event}`);
- }
- return result;
- };
- }
- return result;
- }), cache));
- }
- }
- // `options.cacheOptions`
- options.cacheOptions = { ...options.cacheOptions };
- // `options.dnsCache`
- if (options.dnsCache === true) {
- if (!globalDnsCache) {
- globalDnsCache = new cacheable_lookup_1.default();
- }
- options.dnsCache = globalDnsCache;
- }
- else if (!is_1.default.undefined(options.dnsCache) && !options.dnsCache.lookup) {
- throw new TypeError(`Parameter \`dnsCache\` must be a CacheableLookup instance or a boolean, got ${is_1.default(options.dnsCache)}`);
- }
- // `options.timeout`
- if (is_1.default.number(options.timeout)) {
- options.timeout = { request: options.timeout };
- }
- else if (defaults && options.timeout !== defaults.timeout) {
- options.timeout = {
- ...defaults.timeout,
- ...options.timeout
- };
- }
- else {
- options.timeout = { ...options.timeout };
- }
- // `options.context`
- if (!options.context) {
- options.context = {};
- }
- // `options.hooks`
- const areHooksDefault = options.hooks === (defaults === null || defaults === void 0 ? void 0 : defaults.hooks);
- options.hooks = { ...options.hooks };
- for (const event of exports.knownHookEvents) {
- if (event in options.hooks) {
- if (is_1.default.array(options.hooks[event])) {
- // See https://github.com/microsoft/TypeScript/issues/31445#issuecomment-576929044
- options.hooks[event] = [...options.hooks[event]];
- }
- else {
- throw new TypeError(`Parameter \`${event}\` must be an Array, got ${is_1.default(options.hooks[event])}`);
- }
- }
- else {
- options.hooks[event] = [];
- }
- }
- if (defaults && !areHooksDefault) {
- for (const event of exports.knownHookEvents) {
- const defaultHooks = defaults.hooks[event];
- if (defaultHooks.length > 0) {
- // See https://github.com/microsoft/TypeScript/issues/31445#issuecomment-576929044
- options.hooks[event] = [
- ...defaults.hooks[event],
- ...options.hooks[event]
- ];
- }
- }
- }
- // DNS options
- if ('family' in options) {
- deprecation_warning_1.default('"options.family" was never documented, please use "options.dnsLookupIpVersion"');
- }
- // HTTPS options
- if (defaults === null || defaults === void 0 ? void 0 : defaults.https) {
- options.https = { ...defaults.https, ...options.https };
- }
- if ('rejectUnauthorized' in options) {
- deprecation_warning_1.default('"options.rejectUnauthorized" is now deprecated, please use "options.https.rejectUnauthorized"');
- }
- if ('checkServerIdentity' in options) {
- deprecation_warning_1.default('"options.checkServerIdentity" was never documented, please use "options.https.checkServerIdentity"');
- }
- if ('ca' in options) {
- deprecation_warning_1.default('"options.ca" was never documented, please use "options.https.certificateAuthority"');
- }
- if ('key' in options) {
- deprecation_warning_1.default('"options.key" was never documented, please use "options.https.key"');
- }
- if ('cert' in options) {
- deprecation_warning_1.default('"options.cert" was never documented, please use "options.https.certificate"');
- }
- if ('passphrase' in options) {
- deprecation_warning_1.default('"options.passphrase" was never documented, please use "options.https.passphrase"');
- }
- if ('pfx' in options) {
- deprecation_warning_1.default('"options.pfx" was never documented, please use "options.https.pfx"');
- }
- // Other options
- if ('followRedirects' in options) {
- throw new TypeError('The `followRedirects` option does not exist. Use `followRedirect` instead.');
- }
- if (options.agent) {
- for (const key in options.agent) {
- if (key !== 'http' && key !== 'https' && key !== 'http2') {
- throw new TypeError(`Expected the \`options.agent\` properties to be \`http\`, \`https\` or \`http2\`, got \`${key}\``);
- }
- }
- }
- options.maxRedirects = (_e = options.maxRedirects) !== null && _e !== void 0 ? _e : 0;
- // Set non-enumerable properties
- exports.setNonEnumerableProperties([defaults, rawOptions], options);
- return normalize_arguments_1.default(options, defaults);
- }
- _lockWrite() {
- const onLockedWrite = () => {
- throw new TypeError('The payload has been already provided');
- };
- this.write = onLockedWrite;
- this.end = onLockedWrite;
- }
- _unlockWrite() {
- this.write = super.write;
- this.end = super.end;
- }
- async _finalizeBody() {
- const { options } = this;
- const { headers } = options;
- const isForm = !is_1.default.undefined(options.form);
- const isJSON = !is_1.default.undefined(options.json);
- const isBody = !is_1.default.undefined(options.body);
- const hasPayload = isForm || isJSON || isBody;
- const cannotHaveBody = exports.withoutBody.has(options.method) && !(options.method === 'GET' && options.allowGetBody);
- this._cannotHaveBody = cannotHaveBody;
- if (hasPayload) {
- if (cannotHaveBody) {
- throw new TypeError(`The \`${options.method}\` method cannot be used with a body`);
- }
- if ([isBody, isForm, isJSON].filter(isTrue => isTrue).length > 1) {
- throw new TypeError('The `body`, `json` and `form` options are mutually exclusive');
- }
- if (isBody &&
- !(options.body instanceof stream_1.Readable) &&
- !is_1.default.string(options.body) &&
- !is_1.default.buffer(options.body) &&
- !is_form_data_1.default(options.body)) {
- throw new TypeError('The `body` option must be a stream.Readable, string or Buffer');
- }
- if (isForm && !is_1.default.object(options.form)) {
- throw new TypeError('The `form` option must be an Object');
- }
- {
- // Serialize body
- const noContentType = !is_1.default.string(headers['content-type']);
- if (isBody) {
- // Special case for https://github.com/form-data/form-data
- if (is_form_data_1.default(options.body) && noContentType) {
- headers['content-type'] = `multipart/form-data; boundary=${options.body.getBoundary()}`;
- }
- this[kBody] = options.body;
- }
- else if (isForm) {
- if (noContentType) {
- headers['content-type'] = 'application/x-www-form-urlencoded';
- }
- this[kBody] = (new url_1.URLSearchParams(options.form)).toString();
- }
- else {
- if (noContentType) {
- headers['content-type'] = 'application/json';
- }
- this[kBody] = options.stringifyJson(options.json);
- }
- const uploadBodySize = await get_body_size_1.default(this[kBody], options.headers);
- // See https://tools.ietf.org/html/rfc7230#section-3.3.2
- // A user agent SHOULD send a Content-Length in a request message when
- // no Transfer-Encoding is sent and the request method defines a meaning
- // for an enclosed payload body. For example, a Content-Length header
- // field is normally sent in a POST request even when the value is 0
- // (indicating an empty payload body). A user agent SHOULD NOT send a
- // Content-Length header field when the request message does not contain
- // a payload body and the method semantics do not anticipate such a
- // body.
- if (is_1.default.undefined(headers['content-length']) && is_1.default.undefined(headers['transfer-encoding'])) {
- if (!cannotHaveBody && !is_1.default.undefined(uploadBodySize)) {
- headers['content-length'] = String(uploadBodySize);
- }
- }
- }
- }
- else if (cannotHaveBody) {
- this._lockWrite();
- }
- else {
- this._unlockWrite();
- }
- this[kBodySize] = Number(headers['content-length']) || undefined;
- }
- async _onResponseBase(response) {
- const { options } = this;
- const { url } = options;
- this[kOriginalResponse] = response;
- if (options.decompress) {
- response = decompressResponse(response);
- }
- const statusCode = response.statusCode;
- const typedResponse = response;
- typedResponse.statusMessage = typedResponse.statusMessage ? typedResponse.statusMessage : http.STATUS_CODES[statusCode];
- typedResponse.url = options.url.toString();
- typedResponse.requestUrl = this.requestUrl;
- typedResponse.redirectUrls = this.redirects;
- typedResponse.request = this;
- typedResponse.isFromCache = response.fromCache || false;
- typedResponse.ip = this.ip;
- typedResponse.retryCount = this.retryCount;
- this[kIsFromCache] = typedResponse.isFromCache;
- this[kResponseSize] = Number(response.headers['content-length']) || undefined;
- this[kResponse] = response;
- response.once('end', () => {
- this[kResponseSize] = this[kDownloadedSize];
- this.emit('downloadProgress', this.downloadProgress);
- });
- response.once('error', (error) => {
- // Force clean-up, because some packages don't do this.
- // TODO: Fix decompress-response
- response.destroy();
- this._beforeError(new ReadError(error, this));
- });
- response.once('aborted', () => {
- this._beforeError(new ReadError({
- name: 'Error',
- message: 'The server aborted pending request',
- code: 'ECONNRESET'
- }, this));
- });
- this.emit('downloadProgress', this.downloadProgress);
- const rawCookies = response.headers['set-cookie'];
- if (is_1.default.object(options.cookieJar) && rawCookies) {
- let promises = rawCookies.map(async (rawCookie) => options.cookieJar.setCookie(rawCookie, url.toString()));
- if (options.ignoreInvalidCookies) {
- promises = promises.map(async (p) => p.catch(() => { }));
- }
- try {
- await Promise.all(promises);
- }
- catch (error) {
- this._beforeError(error);
- return;
- }
- }
- if (options.followRedirect && response.headers.location && redirectCodes.has(statusCode)) {
- // We're being redirected, we don't care about the response.
- // It'd be best to abort the request, but we can't because
- // we would have to sacrifice the TCP connection. We don't want that.
- response.resume();
- if (this[kRequest]) {
- this[kCancelTimeouts]();
- // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
- delete this[kRequest];
- this[kUnproxyEvents]();
- }
- const shouldBeGet = statusCode === 303 && options.method !== 'GET' && options.method !== 'HEAD';
- if (shouldBeGet || !options.methodRewriting) {
- // Server responded with "see other", indicating that the resource exists at another location,
- // and the client should request it from that location via GET or HEAD.
- options.method = 'GET';
- if ('body' in options) {
- delete options.body;
- }
- if ('json' in options) {
- delete options.json;
- }
- if ('form' in options) {
- delete options.form;
- }
- this[kBody] = undefined;
- delete options.headers['content-length'];
- }
- if (this.redirects.length >= options.maxRedirects) {
- this._beforeError(new MaxRedirectsError(this));
- return;
- }
- try {
- // Do not remove. See https://github.com/sindresorhus/got/pull/214
- const redirectBuffer = Buffer.from(response.headers.location, 'binary').toString();
- // Handles invalid URLs. See https://github.com/sindresorhus/got/issues/604
- const redirectUrl = new url_1.URL(redirectBuffer, url);
- const redirectString = redirectUrl.toString();
- decodeURI(redirectString);
- // eslint-disable-next-line no-inner-declarations
- function isUnixSocketURL(url) {
- return url.protocol === 'unix:' || url.hostname === 'unix';
- }
- if (!isUnixSocketURL(url) && isUnixSocketURL(redirectUrl)) {
- this._beforeError(new RequestError('Cannot redirect to UNIX socket', {}, this));
- return;
- }
- // Redirecting to a different site, clear sensitive data.
- if (redirectUrl.hostname !== url.hostname || redirectUrl.port !== url.port) {
- if ('host' in options.headers) {
- delete options.headers.host;
- }
- if ('cookie' in options.headers) {
- delete options.headers.cookie;
- }
- if ('authorization' in options.headers) {
- delete options.headers.authorization;
- }
- if (options.username || options.password) {
- options.username = '';
- options.password = '';
- }
- }
- else {
- redirectUrl.username = options.username;
- redirectUrl.password = options.password;
- }
- this.redirects.push(redirectString);
- options.url = redirectUrl;
- for (const hook of options.hooks.beforeRedirect) {
- // eslint-disable-next-line no-await-in-loop
- await hook(options, typedResponse);
- }
- this.emit('redirect', typedResponse, options);
- await this._makeRequest();
- }
- catch (error) {
- this._beforeError(error);
- return;
- }
- return;
- }
- if (options.isStream && options.throwHttpErrors && !is_response_ok_1.isResponseOk(typedResponse)) {
- this._beforeError(new HTTPError(typedResponse));
- return;
- }
- response.on('readable', () => {
- if (this[kTriggerRead]) {
- this._read();
- }
- });
- this.on('resume', () => {
- response.resume();
- });
- this.on('pause', () => {
- response.pause();
- });
- response.once('end', () => {
- this.push(null);
- });
- this.emit('response', response);
- for (const destination of this[kServerResponsesPiped]) {
- if (destination.headersSent) {
- continue;
- }
- // eslint-disable-next-line guard-for-in
- for (const key in response.headers) {
- const isAllowed = options.decompress ? key !== 'content-encoding' : true;
- const value = response.headers[key];
- if (isAllowed) {
- destination.setHeader(key, value);
- }
- }
- destination.statusCode = statusCode;
- }
- }
- async _onResponse(response) {
- try {
- await this._onResponseBase(response);
- }
- catch (error) {
- /* istanbul ignore next: better safe than sorry */
- this._beforeError(error);
- }
- }
- _onRequest(request) {
- const { options } = this;
- const { timeout, url } = options;
- http_timer_1.default(request);
- this[kCancelTimeouts] = timed_out_1.default(request, timeout, url);
- const responseEventName = options.cache ? 'cacheableResponse' : 'response';
- request.once(responseEventName, (response) => {
- void this._onResponse(response);
- });
- request.once('error', (error) => {
- var _a;
- // Force clean-up, because some packages (e.g. nock) don't do this.
- request.destroy();
- // Node.js <= 12.18.2 mistakenly emits the response `end` first.
- (_a = request.res) === null || _a === void 0 ? void 0 : _a.removeAllListeners('end');
- error = error instanceof timed_out_1.TimeoutError ? new TimeoutError(error, this.timings, this) : new RequestError(error.message, error, this);
- this._beforeError(error);
- });
- this[kUnproxyEvents] = proxy_events_1.default(request, this, proxiedRequestEvents);
- this[kRequest] = request;
- this.emit('uploadProgress', this.uploadProgress);
- // Send body
- const body = this[kBody];
- const currentRequest = this.redirects.length === 0 ? this : request;
- if (is_1.default.nodeStream(body)) {
- body.pipe(currentRequest);
- body.once('error', (error) => {
- this._beforeError(new UploadError(error, this));
- });
- }
- else {
- this._unlockWrite();
- if (!is_1.default.undefined(body)) {
- this._writeRequest(body, undefined, () => { });
- currentRequest.end();
- this._lockWrite();
- }
- else if (this._cannotHaveBody || this._noPipe) {
- currentRequest.end();
- this._lockWrite();
- }
- }
- this.emit('request', request);
- }
- async _createCacheableRequest(url, options) {
- return new Promise((resolve, reject) => {
- // TODO: Remove `utils/url-to-options.ts` when `cacheable-request` is fixed
- Object.assign(options, url_to_options_1.default(url));
- // `http-cache-semantics` checks this
- // TODO: Fix this ignore.
- // @ts-expect-error
- delete options.url;
- let request;
- // This is ugly
- const cacheRequest = cacheableStore.get(options.cache)(options, async (response) => {
- // TODO: Fix `cacheable-response`
- response._readableState.autoDestroy = false;
- if (request) {
- (await request).emit('cacheableResponse', response);
- }
- resolve(response);
- });
- // Restore options
- options.url = url;
- cacheRequest.once('error', reject);
- cacheRequest.once('request', async (requestOrPromise) => {
- request = requestOrPromise;
- resolve(request);
- });
- });
- }
- async _makeRequest() {
- var _a, _b, _c, _d, _e;
- const { options } = this;
- const { headers } = options;
- for (const key in headers) {
- if (is_1.default.undefined(headers[key])) {
- // eslint-disable-next-line @typescript-eslint/no-dynamic-delete
- delete headers[key];
- }
- else if (is_1.default.null_(headers[key])) {
- throw new TypeError(`Use \`undefined\` instead of \`null\` to delete the \`${key}\` header`);
- }
- }
- if (options.decompress && is_1.default.undefined(headers['accept-encoding'])) {
- headers['accept-encoding'] = supportsBrotli ? 'gzip, deflate, br' : 'gzip, deflate';
- }
- // Set cookies
- if (options.cookieJar) {
- const cookieString = await options.cookieJar.getCookieString(options.url.toString());
- if (is_1.default.nonEmptyString(cookieString)) {
- options.headers.cookie = cookieString;
- }
- }
- for (const hook of options.hooks.beforeRequest) {
- // eslint-disable-next-line no-await-in-loop
- const result = await hook(options);
- if (!is_1.default.undefined(result)) {
- // @ts-expect-error Skip the type mismatch to support abstract responses
- options.request = () => result;
- break;
- }
- }
- if (options.body && this[kBody] !== options.body) {
- this[kBody] = options.body;
- }
- const { agent, request, timeout, url } = options;
- if (options.dnsCache && !('lookup' in options)) {
- options.lookup = options.dnsCache.lookup;
- }
- // UNIX sockets
- if (url.hostname === 'unix') {
- const matches = /(?<socketPath>.+?):(?<path>.+)/.exec(`${url.pathname}${url.search}`);
- if (matches === null || matches === void 0 ? void 0 : matches.groups) {
- const { socketPath, path } = matches.groups;
- Object.assign(options, {
- socketPath,
- path,
- host: ''
- });
- }
- }
- const isHttps = url.protocol === 'https:';
- // Fallback function
- let fallbackFn;
- if (options.http2) {
- fallbackFn = http2wrapper.auto;
- }
- else {
- fallbackFn = isHttps ? https.request : http.request;
- }
- const realFn = (_a = options.request) !== null && _a !== void 0 ? _a : fallbackFn;
- // Cache support
- const fn = options.cache ? this._createCacheableRequest : realFn;
- // Pass an agent directly when HTTP2 is disabled
- if (agent && !options.http2) {
- options.agent = agent[isHttps ? 'https' : 'http'];
- }
- // Prepare plain HTTP request options
- options[kRequest] = realFn;
- delete options.request;
- // TODO: Fix this ignore.
- // @ts-expect-error
- delete options.timeout;
- const requestOptions = options;
- requestOptions.shared = (_b = options.cacheOptions) === null || _b === void 0 ? void 0 : _b.shared;
- requestOptions.cacheHeuristic = (_c = options.cacheOptions) === null || _c === void 0 ? void 0 : _c.cacheHeuristic;
- requestOptions.immutableMinTimeToLive = (_d = options.cacheOptions) === null || _d === void 0 ? void 0 : _d.immutableMinTimeToLive;
- requestOptions.ignoreCargoCult = (_e = options.cacheOptions) === null || _e === void 0 ? void 0 : _e.ignoreCargoCult;
- // If `dnsLookupIpVersion` is not present do not override `family`
- if (options.dnsLookupIpVersion !== undefined) {
- try {
- requestOptions.family = dns_ip_version_1.dnsLookupIpVersionToFamily(options.dnsLookupIpVersion);
- }
- catch (_f) {
- throw new Error('Invalid `dnsLookupIpVersion` option value');
- }
- }
- // HTTPS options remapping
- if (options.https) {
- if ('rejectUnauthorized' in options.https) {
- requestOptions.rejectUnauthorized = options.https.rejectUnauthorized;
- }
- if (options.https.checkServerIdentity) {
- requestOptions.checkServerIdentity = options.https.checkServerIdentity;
- }
- if (options.https.certificateAuthority) {
- requestOptions.ca = options.https.certificateAuthority;
- }
- if (options.https.certificate) {
- requestOptions.cert = options.https.certificate;
- }
- if (options.https.key) {
- requestOptions.key = options.https.key;
- }
- if (options.https.passphrase) {
- requestOptions.passphrase = options.https.passphrase;
- }
- if (options.https.pfx) {
- requestOptions.pfx = options.https.pfx;
- }
- }
- try {
- let requestOrResponse = await fn(url, requestOptions);
- if (is_1.default.undefined(requestOrResponse)) {
- requestOrResponse = fallbackFn(url, requestOptions);
- }
- // Restore options
- options.request = request;
- options.timeout = timeout;
- options.agent = agent;
- // HTTPS options restore
- if (options.https) {
- if ('rejectUnauthorized' in options.https) {
- delete requestOptions.rejectUnauthorized;
- }
- if (options.https.checkServerIdentity) {
- // @ts-expect-error - This one will be removed when we remove the alias.
- delete requestOptions.checkServerIdentity;
- }
- if (options.https.certificateAuthority) {
- delete requestOptions.ca;
- }
- if (options.https.certificate) {
- delete requestOptions.cert;
- }
- if (options.https.key) {
- delete requestOptions.key;
- }
- if (options.https.passphrase) {
- delete requestOptions.passphrase;
- }
- if (options.https.pfx) {
- delete requestOptions.pfx;
- }
- }
- if (isClientRequest(requestOrResponse)) {
- this._onRequest(requestOrResponse);
- // Emit the response after the stream has been ended
- }
- else if (this.writable) {
- this.once('finish', () => {
- void this._onResponse(requestOrResponse);
- });
- this._unlockWrite();
- this.end();
- this._lockWrite();
- }
- else {
- void this._onResponse(requestOrResponse);
- }
- }
- catch (error) {
- if (error instanceof CacheableRequest.CacheError) {
- throw new CacheError(error, this);
- }
- throw new RequestError(error.message, error, this);
- }
- }
- async _error(error) {
- try {
- for (const hook of this.options.hooks.beforeError) {
- // eslint-disable-next-line no-await-in-loop
- error = await hook(error);
- }
- }
- catch (error_) {
- error = new RequestError(error_.message, error_, this);
- }
- this.destroy(error);
- }
- _beforeError(error) {
- if (this[kStopReading]) {
- return;
- }
- const { options } = this;
- const retryCount = this.retryCount + 1;
- this[kStopReading] = true;
- if (!(error instanceof RequestError)) {
- error = new RequestError(error.message, error, this);
- }
- const typedError = error;
- const { response } = typedError;
- void (async () => {
- if (response && !response.body) {
- response.setEncoding(this._readableState.encoding);
- try {
- response.rawBody = await get_buffer_1.default(response);
- response.body = response.rawBody.toString();
- }
- catch (_a) { }
- }
- if (this.listenerCount('retry') !== 0) {
- let backoff;
- try {
- let retryAfter;
- if (response && 'retry-after' in response.headers) {
- retryAfter = Number(response.headers['retry-after']);
- if (Number.isNaN(retryAfter)) {
- retryAfter = Date.parse(response.headers['retry-after']) - Date.now();
- if (retryAfter <= 0) {
- retryAfter = 1;
- }
- }
- else {
- retryAfter *= 1000;
- }
- }
- backoff = await options.retry.calculateDelay({
- attemptCount: retryCount,
- retryOptions: options.retry,
- error: typedError,
- retryAfter,
- computedValue: calculate_retry_delay_1.default({
- attemptCount: retryCount,
- retryOptions: options.retry,
- error: typedError,
- retryAfter,
- computedValue: 0
- })
- });
- }
- catch (error_) {
- void this._error(new RequestError(error_.message, error_, this));
- return;
- }
- if (backoff) {
- const retry = async () => {
- try {
- for (const hook of this.options.hooks.beforeRetry) {
- // eslint-disable-next-line no-await-in-loop
- await hook(this.options, typedError, retryCount);
- }
- }
- catch (error_) {
- void this._error(new RequestError(error_.message, error, this));
- return;
- }
- // Something forced us to abort the retry
- if (this.destroyed) {
- return;
- }
- this.destroy();
- this.emit('retry', retryCount, error);
- };
- this[kRetryTimeout] = setTimeout(retry, backoff);
- return;
- }
- }
- void this._error(typedError);
- })();
- }
- _read() {
- this[kTriggerRead] = true;
- const response = this[kResponse];
- if (response && !this[kStopReading]) {
- // We cannot put this in the `if` above
- // because `.read()` also triggers the `end` event
- if (response.readableLength) {
- this[kTriggerRead] = false;
- }
- let data;
- while ((data = response.read()) !== null) {
- this[kDownloadedSize] += data.length;
- this[kStartedReading] = true;
- const progress = this.downloadProgress;
- if (progress.percent < 1) {
- this.emit('downloadProgress', progress);
- }
- this.push(data);
- }
- }
- }
- // Node.js 12 has incorrect types, so the encoding must be a string
- _write(chunk, encoding, callback) {
- const write = () => {
- this._writeRequest(chunk, encoding, callback);
- };
- if (this.requestInitialized) {
- write();
- }
- else {
- this[kJobs].push(write);
- }
- }
- _writeRequest(chunk, encoding, callback) {
- if (this[kRequest].destroyed) {
- // Probably the `ClientRequest` instance will throw
- return;
- }
- this._progressCallbacks.push(() => {
- this[kUploadedSize] += Buffer.byteLength(chunk, encoding);
- const progress = this.uploadProgress;
- if (progress.percent < 1) {
- this.emit('uploadProgress', progress);
- }
- });
- // TODO: What happens if it's from cache? Then this[kRequest] won't be defined.
- this[kRequest].write(chunk, encoding, (error) => {
- if (!error && this._progressCallbacks.length > 0) {
- this._progressCallbacks.shift()();
- }
- callback(error);
- });
- }
- _final(callback) {
- const endRequest = () => {
- // FIX: Node.js 10 calls the write callback AFTER the end callback!
- while (this._progressCallbacks.length !== 0) {
- this._progressCallbacks.shift()();
- }
- // We need to check if `this[kRequest]` is present,
- // because it isn't when we use cache.
- if (!(kRequest in this)) {
- callback();
- return;
- }
- if (this[kRequest].destroyed) {
- callback();
- return;
- }
- this[kRequest].end((error) => {
- if (!error) {
- this[kBodySize] = this[kUploadedSize];
- this.emit('uploadProgress', this.uploadProgress);
- this[kRequest].emit('upload-complete');
- }
- callback(error);
- });
- };
- if (this.requestInitialized) {
- endRequest();
- }
- else {
- this[kJobs].push(endRequest);
- }
- }
- _destroy(error, callback) {
- var _a;
- this[kStopReading] = true;
- // Prevent further retries
- clearTimeout(this[kRetryTimeout]);
- if (kRequest in this) {
- this[kCancelTimeouts]();
- // TODO: Remove the next `if` when these get fixed:
- // - https://github.com/nodejs/node/issues/32851
- if (!((_a = this[kResponse]) === null || _a === void 0 ? void 0 : _a.complete)) {
- this[kRequest].destroy();
- }
- }
- if (error !== null && !is_1.default.undefined(error) && !(error instanceof RequestError)) {
- error = new RequestError(error.message, error, this);
- }
- callback(error);
- }
- get _isAboutToError() {
- return this[kStopReading];
- }
- /**
- The remote IP address.
- */
- get ip() {
- var _a;
- return (_a = this.socket) === null || _a === void 0 ? void 0 : _a.remoteAddress;
- }
- /**
- Indicates whether the request has been aborted or not.
- */
- get aborted() {
- var _a, _b, _c;
- return ((_b = (_a = this[kRequest]) === null || _a === void 0 ? void 0 : _a.destroyed) !== null && _b !== void 0 ? _b : this.destroyed) && !((_c = this[kOriginalResponse]) === null || _c === void 0 ? void 0 : _c.complete);
- }
- get socket() {
- var _a, _b;
- return (_b = (_a = this[kRequest]) === null || _a === void 0 ? void 0 : _a.socket) !== null && _b !== void 0 ? _b : undefined;
- }
- /**
- Progress event for downloading (receiving a response).
- */
- get downloadProgress() {
- let percent;
- if (this[kResponseSize]) {
- percent = this[kDownloadedSize] / this[kResponseSize];
- }
- else if (this[kResponseSize] === this[kDownloadedSize]) {
- percent = 1;
- }
- else {
- percent = 0;
- }
- return {
- percent,
- transferred: this[kDownloadedSize],
- total: this[kResponseSize]
- };
- }
- /**
- Progress event for uploading (sending a request).
- */
- get uploadProgress() {
- let percent;
- if (this[kBodySize]) {
- percent = this[kUploadedSize] / this[kBodySize];
- }
- else if (this[kBodySize] === this[kUploadedSize]) {
- percent = 1;
- }
- else {
- percent = 0;
- }
- return {
- percent,
- transferred: this[kUploadedSize],
- total: this[kBodySize]
- };
- }
- /**
- The object contains the following properties:
-
- - `start` - Time when the request started.
- - `socket` - Time when a socket was assigned to the request.
- - `lookup` - Time when the DNS lookup finished.
- - `connect` - Time when the socket successfully connected.
- - `secureConnect` - Time when the socket securely connected.
- - `upload` - Time when the request finished uploading.
- - `response` - Time when the request fired `response` event.
- - `end` - Time when the response fired `end` event.
- - `error` - Time when the request fired `error` event.
- - `abort` - Time when the request fired `abort` event.
- - `phases`
- - `wait` - `timings.socket - timings.start`
- - `dns` - `timings.lookup - timings.socket`
- - `tcp` - `timings.connect - timings.lookup`
- - `tls` - `timings.secureConnect - timings.connect`
- - `request` - `timings.upload - (timings.secureConnect || timings.connect)`
- - `firstByte` - `timings.response - timings.upload`
- - `download` - `timings.end - timings.response`
- - `total` - `(timings.end || timings.error || timings.abort) - timings.start`
-
- If something has not been measured yet, it will be `undefined`.
-
- __Note__: The time is a `number` representing the milliseconds elapsed since the UNIX epoch.
- */
- get timings() {
- var _a;
- return (_a = this[kRequest]) === null || _a === void 0 ? void 0 : _a.timings;
- }
- /**
- Whether the response was retrieved from the cache.
- */
- get isFromCache() {
- return this[kIsFromCache];
- }
- pipe(destination, options) {
- if (this[kStartedReading]) {
- throw new Error('Failed to pipe. The response has been emitted already.');
- }
- if (destination instanceof http_1.ServerResponse) {
- this[kServerResponsesPiped].add(destination);
- }
- return super.pipe(destination, options);
- }
- unpipe(destination) {
- if (destination instanceof http_1.ServerResponse) {
- this[kServerResponsesPiped].delete(destination);
- }
- super.unpipe(destination);
- return this;
- }
-}
-exports.default = Request;
diff --git a/node_modules/got/dist/source/core/utils/dns-ip-version.d.ts b/node_modules/got/dist/source/core/utils/dns-ip-version.d.ts
deleted file mode 100644
index ea547cd..0000000
--- a/node_modules/got/dist/source/core/utils/dns-ip-version.d.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-export declare type DnsLookupIpVersion = 'auto' | 'ipv4' | 'ipv6';
-declare type DnsIpFamily = 0 | 4 | 6;
-export declare const isDnsLookupIpVersion: (value: any) => boolean;
-export declare const dnsLookupIpVersionToFamily: (dnsLookupIpVersion: DnsLookupIpVersion) => DnsIpFamily;
-export {};
diff --git a/node_modules/got/dist/source/core/utils/dns-ip-version.js b/node_modules/got/dist/source/core/utils/dns-ip-version.js
deleted file mode 100644
index 6f599c2..0000000
--- a/node_modules/got/dist/source/core/utils/dns-ip-version.js
+++ /dev/null
@@ -1,17 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.dnsLookupIpVersionToFamily = exports.isDnsLookupIpVersion = void 0;
-const conversionTable = {
- auto: 0,
- ipv4: 4,
- ipv6: 6
-};
-exports.isDnsLookupIpVersion = (value) => {
- return value in conversionTable;
-};
-exports.dnsLookupIpVersionToFamily = (dnsLookupIpVersion) => {
- if (exports.isDnsLookupIpVersion(dnsLookupIpVersion)) {
- return conversionTable[dnsLookupIpVersion];
- }
- throw new Error('Invalid DNS lookup IP version');
-};
diff --git a/node_modules/got/dist/source/core/utils/get-body-size.d.ts b/node_modules/got/dist/source/core/utils/get-body-size.d.ts
deleted file mode 100644
index 9745f69..0000000
--- a/node_modules/got/dist/source/core/utils/get-body-size.d.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-import { ClientRequestArgs } from 'http';
-declare const _default: (body: unknown, headers: ClientRequestArgs['headers']) => Promise<number | undefined>;
-export default _default;
diff --git a/node_modules/got/dist/source/core/utils/get-body-size.js b/node_modules/got/dist/source/core/utils/get-body-size.js
deleted file mode 100644
index 0202342..0000000
--- a/node_modules/got/dist/source/core/utils/get-body-size.js
+++ /dev/null
@@ -1,32 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-const fs_1 = require("fs");
-const util_1 = require("util");
-const is_1 = require("@sindresorhus/is");
-const is_form_data_1 = require("./is-form-data");
-const statAsync = util_1.promisify(fs_1.stat);
-exports.default = async (body, headers) => {
- if (headers && 'content-length' in headers) {
- return Number(headers['content-length']);
- }
- if (!body) {
- return 0;
- }
- if (is_1.default.string(body)) {
- return Buffer.byteLength(body);
- }
- if (is_1.default.buffer(body)) {
- return body.length;
- }
- if (is_form_data_1.default(body)) {
- return util_1.promisify(body.getLength.bind(body))();
- }
- if (body instanceof fs_1.ReadStream) {
- const { size } = await statAsync(body.path);
- if (size === 0) {
- return undefined;
- }
- return size;
- }
- return undefined;
-};
diff --git a/node_modules/got/dist/source/core/utils/get-buffer.d.ts b/node_modules/got/dist/source/core/utils/get-buffer.d.ts
deleted file mode 100644
index 66eaada..0000000
--- a/node_modules/got/dist/source/core/utils/get-buffer.d.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-/// <reference types="node" />
-import { Readable } from 'stream';
-declare const getBuffer: (stream: Readable) => Promise<Buffer>;
-export default getBuffer;
diff --git a/node_modules/got/dist/source/core/utils/get-buffer.js b/node_modules/got/dist/source/core/utils/get-buffer.js
deleted file mode 100644
index 0155f08..0000000
--- a/node_modules/got/dist/source/core/utils/get-buffer.js
+++ /dev/null
@@ -1,16 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-// TODO: Update https://github.com/sindresorhus/get-stream
-const getBuffer = async (stream) => {
- const chunks = [];
- let length = 0;
- for await (const chunk of stream) {
- chunks.push(chunk);
- length += Buffer.byteLength(chunk);
- }
- if (Buffer.isBuffer(chunks[0])) {
- return Buffer.concat(chunks, length);
- }
- return Buffer.from(chunks.join(''));
-};
-exports.default = getBuffer;
diff --git a/node_modules/got/dist/source/core/utils/is-form-data.d.ts b/node_modules/got/dist/source/core/utils/is-form-data.d.ts
deleted file mode 100644
index 02087b5..0000000
--- a/node_modules/got/dist/source/core/utils/is-form-data.d.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-/// <reference types="node" />
-import { Readable } from 'stream';
-interface FormData extends Readable {
- getBoundary: () => string;
- getLength: (callback: (error: Error | null, length: number) => void) => void;
-}
-declare const _default: (body: unknown) => body is FormData;
-export default _default;
diff --git a/node_modules/got/dist/source/core/utils/is-form-data.js b/node_modules/got/dist/source/core/utils/is-form-data.js
deleted file mode 100644
index 32c16cc..0000000
--- a/node_modules/got/dist/source/core/utils/is-form-data.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-const is_1 = require("@sindresorhus/is");
-exports.default = (body) => is_1.default.nodeStream(body) && is_1.default.function_(body.getBoundary);
diff --git a/node_modules/got/dist/source/core/utils/is-response-ok.d.ts b/node_modules/got/dist/source/core/utils/is-response-ok.d.ts
deleted file mode 100644
index 7e1d49a..0000000
--- a/node_modules/got/dist/source/core/utils/is-response-ok.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import { Response } from '..';
-export declare const isResponseOk: (response: Response) => boolean;
diff --git a/node_modules/got/dist/source/core/utils/is-response-ok.js b/node_modules/got/dist/source/core/utils/is-response-ok.js
deleted file mode 100644
index 84c9331..0000000
--- a/node_modules/got/dist/source/core/utils/is-response-ok.js
+++ /dev/null
@@ -1,8 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.isResponseOk = void 0;
-exports.isResponseOk = (response) => {
- const { statusCode } = response;
- const limitStatusCode = response.request.options.followRedirect ? 299 : 399;
- return (statusCode >= 200 && statusCode <= limitStatusCode) || statusCode === 304;
-};
diff --git a/node_modules/got/dist/source/core/utils/options-to-url.d.ts b/node_modules/got/dist/source/core/utils/options-to-url.d.ts
deleted file mode 100644
index c696a83..0000000
--- a/node_modules/got/dist/source/core/utils/options-to-url.d.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import { URL } from 'url';
-export interface URLOptions {
- href?: string;
- protocol?: string;
- host?: string;
- hostname?: string;
- port?: string | number;
- pathname?: string;
- search?: string;
- searchParams?: unknown;
- path?: string;
-}
-declare const _default: (origin: string, options: URLOptions) => URL;
-export default _default;
diff --git a/node_modules/got/dist/source/core/utils/options-to-url.js b/node_modules/got/dist/source/core/utils/options-to-url.js
deleted file mode 100644
index 65be02f..0000000
--- a/node_modules/got/dist/source/core/utils/options-to-url.js
+++ /dev/null
@@ -1,53 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-/* istanbul ignore file: deprecated */
-const url_1 = require("url");
-const keys = [
- 'protocol',
- 'host',
- 'hostname',
- 'port',
- 'pathname',
- 'search'
-];
-exports.default = (origin, options) => {
- var _a, _b;
- if (options.path) {
- if (options.pathname) {
- throw new TypeError('Parameters `path` and `pathname` are mutually exclusive.');
- }
- if (options.search) {
- throw new TypeError('Parameters `path` and `search` are mutually exclusive.');
- }
- if (options.searchParams) {
- throw new TypeError('Parameters `path` and `searchParams` are mutually exclusive.');
- }
- }
- if (options.search && options.searchParams) {
- throw new TypeError('Parameters `search` and `searchParams` are mutually exclusive.');
- }
- if (!origin) {
- if (!options.protocol) {
- throw new TypeError('No URL protocol specified');
- }
- origin = `${options.protocol}//${(_b = (_a = options.hostname) !== null && _a !== void 0 ? _a : options.host) !== null && _b !== void 0 ? _b : ''}`;
- }
- const url = new url_1.URL(origin);
- if (options.path) {
- const searchIndex = options.path.indexOf('?');
- if (searchIndex === -1) {
- options.pathname = options.path;
- }
- else {
- options.pathname = options.path.slice(0, searchIndex);
- options.search = options.path.slice(searchIndex + 1);
- }
- delete options.path;
- }
- for (const key of keys) {
- if (options[key]) {
- url[key] = options[key].toString();
- }
- }
- return url;
-};
diff --git a/node_modules/got/dist/source/core/utils/proxy-events.d.ts b/node_modules/got/dist/source/core/utils/proxy-events.d.ts
deleted file mode 100644
index b244d82..0000000
--- a/node_modules/got/dist/source/core/utils/proxy-events.d.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-/// <reference types="node" />
-import { EventEmitter } from 'events';
-export default function (from: EventEmitter, to: EventEmitter, events: string[]): () => void;
diff --git a/node_modules/got/dist/source/core/utils/proxy-events.js b/node_modules/got/dist/source/core/utils/proxy-events.js
deleted file mode 100644
index 4d47c53..0000000
--- a/node_modules/got/dist/source/core/utils/proxy-events.js
+++ /dev/null
@@ -1,17 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-function default_1(from, to, events) {
- const fns = {};
- for (const event of events) {
- fns[event] = (...args) => {
- to.emit(event, ...args);
- };
- from.on(event, fns[event]);
- }
- return () => {
- for (const event of events) {
- from.off(event, fns[event]);
- }
- };
-}
-exports.default = default_1;
diff --git a/node_modules/got/dist/source/core/utils/timed-out.d.ts b/node_modules/got/dist/source/core/utils/timed-out.d.ts
deleted file mode 100644
index 5b495d4..0000000
--- a/node_modules/got/dist/source/core/utils/timed-out.d.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-import { ClientRequest } from 'http';
-declare const reentry: unique symbol;
-interface TimedOutOptions {
- host?: string;
- hostname?: string;
- protocol?: string;
-}
-export interface Delays {
- lookup?: number;
- connect?: number;
- secureConnect?: number;
- socket?: number;
- response?: number;
- send?: number;
- request?: number;
-}
-export declare type ErrorCode = 'ETIMEDOUT' | 'ECONNRESET' | 'EADDRINUSE' | 'ECONNREFUSED' | 'EPIPE' | 'ENOTFOUND' | 'ENETUNREACH' | 'EAI_AGAIN';
-export declare class TimeoutError extends Error {
- event: string;
- code: ErrorCode;
- constructor(threshold: number, event: string);
-}
-declare const _default: (request: ClientRequest, delays: Delays, options: TimedOutOptions) => () => void;
-export default _default;
-declare module 'http' {
- interface ClientRequest {
- [reentry]: boolean;
- }
-}
diff --git a/node_modules/got/dist/source/core/utils/timed-out.js b/node_modules/got/dist/source/core/utils/timed-out.js
deleted file mode 100644
index 8877016..0000000
--- a/node_modules/got/dist/source/core/utils/timed-out.js
+++ /dev/null
@@ -1,121 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.TimeoutError = void 0;
-const net = require("net");
-const unhandle_1 = require("./unhandle");
-const reentry = Symbol('reentry');
-const noop = () => { };
-class TimeoutError extends Error {
- constructor(threshold, event) {
- super(`Timeout awaiting '${event}' for ${threshold}ms`);
- this.event = event;
- this.name = 'TimeoutError';
- this.code = 'ETIMEDOUT';
- }
-}
-exports.TimeoutError = TimeoutError;
-exports.default = (request, delays, options) => {
- if (reentry in request) {
- return noop;
- }
- request[reentry] = true;
- const cancelers = [];
- const { once, unhandleAll } = unhandle_1.default();
- const addTimeout = (delay, callback, event) => {
- var _a;
- const timeout = setTimeout(callback, delay, delay, event);
- (_a = timeout.unref) === null || _a === void 0 ? void 0 : _a.call(timeout);
- const cancel = () => {
- clearTimeout(timeout);
- };
- cancelers.push(cancel);
- return cancel;
- };
- const { host, hostname } = options;
- const timeoutHandler = (delay, event) => {
- request.destroy(new TimeoutError(delay, event));
- };
- const cancelTimeouts = () => {
- for (const cancel of cancelers) {
- cancel();
- }
- unhandleAll();
- };
- request.once('error', error => {
- cancelTimeouts();
- // Save original behavior
- /* istanbul ignore next */
- if (request.listenerCount('error') === 0) {
- throw error;
- }
- });
- request.once('close', cancelTimeouts);
- once(request, 'response', (response) => {
- once(response, 'end', cancelTimeouts);
- });
- if (typeof delays.request !== 'undefined') {
- addTimeout(delays.request, timeoutHandler, 'request');
- }
- if (typeof delays.socket !== 'undefined') {
- const socketTimeoutHandler = () => {
- timeoutHandler(delays.socket, 'socket');
- };
- request.setTimeout(delays.socket, socketTimeoutHandler);
- // `request.setTimeout(0)` causes a memory leak.
- // We can just remove the listener and forget about the timer - it's unreffed.
- // See https://github.com/sindresorhus/got/issues/690
- cancelers.push(() => {
- request.removeListener('timeout', socketTimeoutHandler);
- });
- }
- once(request, 'socket', (socket) => {
- var _a;
- const { socketPath } = request;
- /* istanbul ignore next: hard to test */
- if (socket.connecting) {
- const hasPath = Boolean(socketPath !== null && socketPath !== void 0 ? socketPath : net.isIP((_a = hostname !== null && hostname !== void 0 ? hostname : host) !== null && _a !== void 0 ? _a : '') !== 0);
- if (typeof delays.lookup !== 'undefined' && !hasPath && typeof socket.address().address === 'undefined') {
- const cancelTimeout = addTimeout(delays.lookup, timeoutHandler, 'lookup');
- once(socket, 'lookup', cancelTimeout);
- }
- if (typeof delays.connect !== 'undefined') {
- const timeConnect = () => addTimeout(delays.connect, timeoutHandler, 'connect');
- if (hasPath) {
- once(socket, 'connect', timeConnect());
- }
- else {
- once(socket, 'lookup', (error) => {
- if (error === null) {
- once(socket, 'connect', timeConnect());
- }
- });
- }
- }
- if (typeof delays.secureConnect !== 'undefined' && options.protocol === 'https:') {
- once(socket, 'connect', () => {
- const cancelTimeout = addTimeout(delays.secureConnect, timeoutHandler, 'secureConnect');
- once(socket, 'secureConnect', cancelTimeout);
- });
- }
- }
- if (typeof delays.send !== 'undefined') {
- const timeRequest = () => addTimeout(delays.send, timeoutHandler, 'send');
- /* istanbul ignore next: hard to test */
- if (socket.connecting) {
- once(socket, 'connect', () => {
- once(request, 'upload-complete', timeRequest());
- });
- }
- else {
- once(request, 'upload-complete', timeRequest());
- }
- }
- });
- if (typeof delays.response !== 'undefined') {
- once(request, 'upload-complete', () => {
- const cancelTimeout = addTimeout(delays.response, timeoutHandler, 'response');
- once(request, 'response', cancelTimeout);
- });
- }
- return cancelTimeouts;
-};
diff --git a/node_modules/got/dist/source/core/utils/unhandle.d.ts b/node_modules/got/dist/source/core/utils/unhandle.d.ts
deleted file mode 100644
index f49b792..0000000
--- a/node_modules/got/dist/source/core/utils/unhandle.d.ts
+++ /dev/null
@@ -1,11 +0,0 @@
-/// <reference types="node" />
-import { EventEmitter } from 'events';
-declare type Origin = EventEmitter;
-declare type Event = string | symbol;
-declare type Fn = (...args: any[]) => void;
-interface Unhandler {
- once: (origin: Origin, event: Event, fn: Fn) => void;
- unhandleAll: () => void;
-}
-declare const _default: () => Unhandler;
-export default _default;
diff --git a/node_modules/got/dist/source/core/utils/unhandle.js b/node_modules/got/dist/source/core/utils/unhandle.js
deleted file mode 100644
index e749697..0000000
--- a/node_modules/got/dist/source/core/utils/unhandle.js
+++ /dev/null
@@ -1,22 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-// When attaching listeners, it's very easy to forget about them.
-// Especially if you do error handling and set timeouts.
-// So instead of checking if it's proper to throw an error on every timeout ever,
-// use this simple tool which will remove all listeners you have attached.
-exports.default = () => {
- const handlers = [];
- return {
- once(origin, event, fn) {
- origin.once(event, fn);
- handlers.push({ origin, event, fn });
- },
- unhandleAll() {
- for (const handler of handlers) {
- const { origin, event, fn } = handler;
- origin.removeListener(event, fn);
- }
- handlers.length = 0;
- }
- };
-};
diff --git a/node_modules/got/dist/source/core/utils/url-to-options.d.ts b/node_modules/got/dist/source/core/utils/url-to-options.d.ts
deleted file mode 100644
index c977a0f..0000000
--- a/node_modules/got/dist/source/core/utils/url-to-options.d.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import { URL, UrlWithStringQuery } from 'url';
-export interface LegacyUrlOptions {
- protocol: string;
- hostname: string;
- host: string;
- hash: string | null;
- search: string | null;
- pathname: string;
- href: string;
- path: string;
- port?: number;
- auth?: string;
-}
-declare const _default: (url: URL | UrlWithStringQuery) => LegacyUrlOptions;
-export default _default;
diff --git a/node_modules/got/dist/source/core/utils/url-to-options.js b/node_modules/got/dist/source/core/utils/url-to-options.js
deleted file mode 100644
index 19cc487..0000000
--- a/node_modules/got/dist/source/core/utils/url-to-options.js
+++ /dev/null
@@ -1,24 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-const is_1 = require("@sindresorhus/is");
-exports.default = (url) => {
- // Cast to URL
- url = url;
- const options = {
- protocol: url.protocol,
- hostname: is_1.default.string(url.hostname) && url.hostname.startsWith('[') ? url.hostname.slice(1, -1) : url.hostname,
- host: url.host,
- hash: url.hash,
- search: url.search,
- pathname: url.pathname,
- href: url.href,
- path: `${url.pathname || ''}${url.search || ''}`
- };
- if (is_1.default.string(url.port) && url.port.length > 0) {
- options.port = Number(url.port);
- }
- if (url.username || url.password) {
- options.auth = `${url.username || ''}:${url.password || ''}`;
- }
- return options;
-};
diff --git a/node_modules/got/dist/source/core/utils/weakable-map.d.ts b/node_modules/got/dist/source/core/utils/weakable-map.d.ts
deleted file mode 100644
index 9e3466c..0000000
--- a/node_modules/got/dist/source/core/utils/weakable-map.d.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-export default class WeakableMap<K, V> {
- weakMap: WeakMap<Record<string, unknown>, V>;
- map: Map<K, V>;
- constructor();
- set(key: K, value: V): void;
- get(key: K): V | undefined;
- has(key: K): boolean;
-}
diff --git a/node_modules/got/dist/source/core/utils/weakable-map.js b/node_modules/got/dist/source/core/utils/weakable-map.js
deleted file mode 100644
index 5c5da7f..0000000
--- a/node_modules/got/dist/source/core/utils/weakable-map.js
+++ /dev/null
@@ -1,29 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-class WeakableMap {
- constructor() {
- this.weakMap = new WeakMap();
- this.map = new Map();
- }
- set(key, value) {
- if (typeof key === 'object') {
- this.weakMap.set(key, value);
- }
- else {
- this.map.set(key, value);
- }
- }
- get(key) {
- if (typeof key === 'object') {
- return this.weakMap.get(key);
- }
- return this.map.get(key);
- }
- has(key) {
- if (typeof key === 'object') {
- return this.weakMap.has(key);
- }
- return this.map.has(key);
- }
-}
-exports.default = WeakableMap;
diff --git a/node_modules/got/dist/source/create.d.ts b/node_modules/got/dist/source/create.d.ts
deleted file mode 100644
index c8fd7ae..0000000
--- a/node_modules/got/dist/source/create.d.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-import { Got, HandlerFunction, InstanceDefaults } from './types';
-export declare const defaultHandler: HandlerFunction;
-declare const create: (defaults: InstanceDefaults) => Got;
-export default create;
-export * from './types';
diff --git a/node_modules/got/dist/source/create.js b/node_modules/got/dist/source/create.js
deleted file mode 100644
index bf56db4..0000000
--- a/node_modules/got/dist/source/create.js
+++ /dev/null
@@ -1,240 +0,0 @@
-"use strict";
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __exportStar = (this && this.__exportStar) || function(m, exports) {
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.defaultHandler = void 0;
-const is_1 = require("@sindresorhus/is");
-const as_promise_1 = require("./as-promise");
-const create_rejection_1 = require("./as-promise/create-rejection");
-const core_1 = require("./core");
-const deep_freeze_1 = require("./utils/deep-freeze");
-const errors = {
- RequestError: as_promise_1.RequestError,
- CacheError: as_promise_1.CacheError,
- ReadError: as_promise_1.ReadError,
- HTTPError: as_promise_1.HTTPError,
- MaxRedirectsError: as_promise_1.MaxRedirectsError,
- TimeoutError: as_promise_1.TimeoutError,
- ParseError: as_promise_1.ParseError,
- CancelError: as_promise_1.CancelError,
- UnsupportedProtocolError: as_promise_1.UnsupportedProtocolError,
- UploadError: as_promise_1.UploadError
-};
-// The `delay` package weighs 10KB (!)
-const delay = async (ms) => new Promise(resolve => {
- setTimeout(resolve, ms);
-});
-const { normalizeArguments } = core_1.default;
-const mergeOptions = (...sources) => {
- let mergedOptions;
- for (const source of sources) {
- mergedOptions = normalizeArguments(undefined, source, mergedOptions);
- }
- return mergedOptions;
-};
-const getPromiseOrStream = (options) => options.isStream ? new core_1.default(undefined, options) : as_promise_1.default(options);
-const isGotInstance = (value) => ('defaults' in value && 'options' in value.defaults);
-const aliases = [
- 'get',
- 'post',
- 'put',
- 'patch',
- 'head',
- 'delete'
-];
-exports.defaultHandler = (options, next) => next(options);
-const callInitHooks = (hooks, options) => {
- if (hooks) {
- for (const hook of hooks) {
- hook(options);
- }
- }
-};
-const create = (defaults) => {
- // Proxy properties from next handlers
- defaults._rawHandlers = defaults.handlers;
- defaults.handlers = defaults.handlers.map(fn => ((options, next) => {
- // This will be assigned by assigning result
- let root;
- const result = fn(options, newOptions => {
- root = next(newOptions);
- return root;
- });
- if (result !== root && !options.isStream && root) {
- const typedResult = result;
- const { then: promiseThen, catch: promiseCatch, finally: promiseFianlly } = typedResult;
- Object.setPrototypeOf(typedResult, Object.getPrototypeOf(root));
- Object.defineProperties(typedResult, Object.getOwnPropertyDescriptors(root));
- // These should point to the new promise
- // eslint-disable-next-line promise/prefer-await-to-then
- typedResult.then = promiseThen;
- typedResult.catch = promiseCatch;
- typedResult.finally = promiseFianlly;
- }
- return result;
- }));
- // Got interface
- const got = ((url, options = {}, _defaults) => {
- var _a, _b;
- let iteration = 0;
- const iterateHandlers = (newOptions) => {
- return defaults.handlers[iteration++](newOptions, iteration === defaults.handlers.length ? getPromiseOrStream : iterateHandlers);
- };
- // TODO: Remove this in Got 12.
- if (is_1.default.plainObject(url)) {
- const mergedOptions = {
- ...url,
- ...options
- };
- core_1.setNonEnumerableProperties([url, options], mergedOptions);
- options = mergedOptions;
- url = undefined;
- }
- try {
- // Call `init` hooks
- let initHookError;
- try {
- callInitHooks(defaults.options.hooks.init, options);
- callInitHooks((_a = options.hooks) === null || _a === void 0 ? void 0 : _a.init, options);
- }
- catch (error) {
- initHookError = error;
- }
- // Normalize options & call handlers
- const normalizedOptions = normalizeArguments(url, options, _defaults !== null && _defaults !== void 0 ? _defaults : defaults.options);
- normalizedOptions[core_1.kIsNormalizedAlready] = true;
- if (initHookError) {
- throw new as_promise_1.RequestError(initHookError.message, initHookError, normalizedOptions);
- }
- return iterateHandlers(normalizedOptions);
- }
- catch (error) {
- if (options.isStream) {
- throw error;
- }
- else {
- return create_rejection_1.default(error, defaults.options.hooks.beforeError, (_b = options.hooks) === null || _b === void 0 ? void 0 : _b.beforeError);
- }
- }
- });
- got.extend = (...instancesOrOptions) => {
- const optionsArray = [defaults.options];
- let handlers = [...defaults._rawHandlers];
- let isMutableDefaults;
- for (const value of instancesOrOptions) {
- if (isGotInstance(value)) {
- optionsArray.push(value.defaults.options);
- handlers.push(...value.defaults._rawHandlers);
- isMutableDefaults = value.defaults.mutableDefaults;
- }
- else {
- optionsArray.push(value);
- if ('handlers' in value) {
- handlers.push(...value.handlers);
- }
- isMutableDefaults = value.mutableDefaults;
- }
- }
- handlers = handlers.filter(handler => handler !== exports.defaultHandler);
- if (handlers.length === 0) {
- handlers.push(exports.defaultHandler);
- }
- return create({
- options: mergeOptions(...optionsArray),
- handlers,
- mutableDefaults: Boolean(isMutableDefaults)
- });
- };
- // Pagination
- const paginateEach = (async function* (url, options) {
- // TODO: Remove this `@ts-expect-error` when upgrading to TypeScript 4.
- // Error: Argument of type 'Merge<Options, PaginationOptions<T, R>> | undefined' is not assignable to parameter of type 'Options | undefined'.
- // @ts-expect-error
- let normalizedOptions = normalizeArguments(url, options, defaults.options);
- normalizedOptions.resolveBodyOnly = false;
- const pagination = normalizedOptions.pagination;
- if (!is_1.default.object(pagination)) {
- throw new TypeError('`options.pagination` must be implemented');
- }
- const all = [];
- let { countLimit } = pagination;
- let numberOfRequests = 0;
- while (numberOfRequests < pagination.requestLimit) {
- if (numberOfRequests !== 0) {
- // eslint-disable-next-line no-await-in-loop
- await delay(pagination.backoff);
- }
- // @ts-expect-error FIXME!
- // TODO: Throw when result is not an instance of Response
- // eslint-disable-next-line no-await-in-loop
- const result = (await got(undefined, undefined, normalizedOptions));
- // eslint-disable-next-line no-await-in-loop
- const parsed = await pagination.transform(result);
- const current = [];
- for (const item of parsed) {
- if (pagination.filter(item, all, current)) {
- if (!pagination.shouldContinue(item, all, current)) {
- return;
- }
- yield item;
- if (pagination.stackAllItems) {
- all.push(item);
- }
- current.push(item);
- if (--countLimit <= 0) {
- return;
- }
- }
- }
- const optionsToMerge = pagination.paginate(result, all, current);
- if (optionsToMerge === false) {
- return;
- }
- if (optionsToMerge === result.request.options) {
- normalizedOptions = result.request.options;
- }
- else if (optionsToMerge !== undefined) {
- normalizedOptions = normalizeArguments(undefined, optionsToMerge, normalizedOptions);
- }
- numberOfRequests++;
- }
- });
- got.paginate = paginateEach;
- got.paginate.all = (async (url, options) => {
- const results = [];
- for await (const item of paginateEach(url, options)) {
- results.push(item);
- }
- return results;
- });
- // For those who like very descriptive names
- got.paginate.each = paginateEach;
- // Stream API
- got.stream = ((url, options) => got(url, { ...options, isStream: true }));
- // Shortcuts
- for (const method of aliases) {
- got[method] = ((url, options) => got(url, { ...options, method }));
- got.stream[method] = ((url, options) => {
- return got(url, { ...options, method, isStream: true });
- });
- }
- Object.assign(got, errors);
- Object.defineProperty(got, 'defaults', {
- value: defaults.mutableDefaults ? defaults : deep_freeze_1.default(defaults),
- writable: defaults.mutableDefaults,
- configurable: defaults.mutableDefaults,
- enumerable: true
- });
- got.mergeOptions = mergeOptions;
- return got;
-};
-exports.default = create;
-__exportStar(require("./types"), exports);
diff --git a/node_modules/got/dist/source/index.d.ts b/node_modules/got/dist/source/index.d.ts
deleted file mode 100644
index e653895..0000000
--- a/node_modules/got/dist/source/index.d.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-declare const got: import("./types").Got;
-export default got;
-export * from './create';
-export * from './as-promise';
diff --git a/node_modules/got/dist/source/index.js b/node_modules/got/dist/source/index.js
deleted file mode 100644
index 106b1f2..0000000
--- a/node_modules/got/dist/source/index.js
+++ /dev/null
@@ -1,132 +0,0 @@
-"use strict";
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
- if (k2 === undefined) k2 = k;
- o[k2] = m[k];
-}));
-var __exportStar = (this && this.__exportStar) || function(m, exports) {
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-const url_1 = require("url");
-const create_1 = require("./create");
-const defaults = {
- options: {
- method: 'GET',
- retry: {
- limit: 2,
- methods: [
- 'GET',
- 'PUT',
- 'HEAD',
- 'DELETE',
- 'OPTIONS',
- 'TRACE'
- ],
- statusCodes: [
- 408,
- 413,
- 429,
- 500,
- 502,
- 503,
- 504,
- 521,
- 522,
- 524
- ],
- errorCodes: [
- 'ETIMEDOUT',
- 'ECONNRESET',
- 'EADDRINUSE',
- 'ECONNREFUSED',
- 'EPIPE',
- 'ENOTFOUND',
- 'ENETUNREACH',
- 'EAI_AGAIN'
- ],
- maxRetryAfter: undefined,
- calculateDelay: ({ computedValue }) => computedValue
- },
- timeout: {},
- headers: {
- 'user-agent': 'got (https://github.com/sindresorhus/got)'
- },
- hooks: {
- init: [],
- beforeRequest: [],
- beforeRedirect: [],
- beforeRetry: [],
- beforeError: [],
- afterResponse: []
- },
- cache: undefined,
- dnsCache: undefined,
- decompress: true,
- throwHttpErrors: true,
- followRedirect: true,
- isStream: false,
- responseType: 'text',
- resolveBodyOnly: false,
- maxRedirects: 10,
- prefixUrl: '',
- methodRewriting: true,
- ignoreInvalidCookies: false,
- context: {},
- // TODO: Set this to `true` when Got 12 gets released
- http2: false,
- allowGetBody: false,
- https: undefined,
- pagination: {
- transform: (response) => {
- if (response.request.options.responseType === 'json') {
- return response.body;
- }
- return JSON.parse(response.body);
- },
- paginate: response => {
- if (!Reflect.has(response.headers, 'link')) {
- return false;
- }
- const items = response.headers.link.split(',');
- let next;
- for (const item of items) {
- const parsed = item.split(';');
- if (parsed[1].includes('next')) {
- next = parsed[0].trimStart().trim();
- next = next.slice(1, -1);
- break;
- }
- }
- if (next) {
- const options = {
- url: new url_1.URL(next)
- };
- return options;
- }
- return false;
- },
- filter: () => true,
- shouldContinue: () => true,
- countLimit: Infinity,
- backoff: 0,
- requestLimit: 10000,
- stackAllItems: true
- },
- parseJson: (text) => JSON.parse(text),
- stringifyJson: (object) => JSON.stringify(object),
- cacheOptions: {}
- },
- handlers: [create_1.defaultHandler],
- mutableDefaults: false
-};
-const got = create_1.default(defaults);
-exports.default = got;
-// For CommonJS default export support
-module.exports = got;
-module.exports.default = got;
-module.exports.__esModule = true; // Workaround for TS issue: https://github.com/sindresorhus/got/pull/1267
-__exportStar(require("./create"), exports);
-__exportStar(require("./as-promise"), exports);
diff --git a/node_modules/got/dist/source/types.d.ts b/node_modules/got/dist/source/types.d.ts
deleted file mode 100644
index 6c6b428..0000000
--- a/node_modules/got/dist/source/types.d.ts
+++ /dev/null
@@ -1,344 +0,0 @@
-/// <reference types="node" />
-import { URL } from 'url';
-import { CancelError } from 'p-cancelable';
-import { CancelableRequest, Response, Options, NormalizedOptions, Defaults as DefaultOptions, PaginationOptions, ParseError, RequestError, CacheError, ReadError, HTTPError, MaxRedirectsError, TimeoutError, UnsupportedProtocolError, UploadError } from './as-promise';
-import Request from './core';
-declare type Except<ObjectType, KeysType extends keyof ObjectType> = Pick<ObjectType, Exclude<keyof ObjectType, KeysType>>;
-declare type Merge<FirstType, SecondType> = Except<FirstType, Extract<keyof FirstType, keyof SecondType>> & SecondType;
-/**
-Defaults for each Got instance.
-*/
-export interface InstanceDefaults {
- /**
- An object containing the default options of Got.
- */
- options: DefaultOptions;
- /**
- An array of functions. You execute them directly by calling `got()`.
- They are some sort of "global hooks" - these functions are called first.
- The last handler (*it's hidden*) is either `asPromise` or `asStream`, depending on the `options.isStream` property.
-
- @default []
- */
- handlers: HandlerFunction[];
- /**
- A read-only boolean describing whether the defaults are mutable or not.
- If set to `true`, you can update headers over time, for example, update an access token when it expires.
-
- @default false
- */
- mutableDefaults: boolean;
- _rawHandlers?: HandlerFunction[];
-}
-/**
-A Request object returned by calling Got, or any of the Got HTTP alias request functions.
-*/
-export declare type GotReturn = Request | CancelableRequest;
-/**
-A function to handle options and returns a Request object.
-It acts sort of like a "global hook", and will be called before any actual request is made.
-*/
-export declare type HandlerFunction = <T extends GotReturn>(options: NormalizedOptions, next: (options: NormalizedOptions) => T) => T | Promise<T>;
-/**
-The options available for `got.extend()`.
-*/
-export interface ExtendOptions extends Options {
- /**
- An array of functions. You execute them directly by calling `got()`.
- They are some sort of "global hooks" - these functions are called first.
- The last handler (*it's hidden*) is either `asPromise` or `asStream`, depending on the `options.isStream` property.
-
- @default []
- */
- handlers?: HandlerFunction[];
- /**
- A read-only boolean describing whether the defaults are mutable or not.
- If set to `true`, you can update headers over time, for example, update an access token when it expires.
-
- @default false
- */
- mutableDefaults?: boolean;
-}
-export declare type OptionsOfTextResponseBody = Merge<Options, {
- isStream?: false;
- resolveBodyOnly?: false;
- responseType?: 'text';
-}>;
-export declare type OptionsOfJSONResponseBody = Merge<Options, {
- isStream?: false;
- resolveBodyOnly?: false;
- responseType?: 'json';
-}>;
-export declare type OptionsOfBufferResponseBody = Merge<Options, {
- isStream?: false;
- resolveBodyOnly?: false;
- responseType: 'buffer';
-}>;
-export declare type OptionsOfUnknownResponseBody = Merge<Options, {
- isStream?: false;
- resolveBodyOnly?: false;
-}>;
-export declare type StrictOptions = Except<Options, 'isStream' | 'responseType' | 'resolveBodyOnly'>;
-export declare type StreamOptions = Merge<Options, {
- isStream?: true;
-}>;
-declare type ResponseBodyOnly = {
- resolveBodyOnly: true;
-};
-export declare type OptionsWithPagination<T = unknown, R = unknown> = Merge<Options, PaginationOptions<T, R>>;
-/**
-An instance of `got.paginate`.
-*/
-export interface GotPaginate {
- /**
- Same as `GotPaginate.each`.
- */
- <T, R = unknown>(url: string | URL, options?: OptionsWithPagination<T, R>): AsyncIterableIterator<T>;
- /**
- Same as `GotPaginate.each`.
- */
- <T, R = unknown>(options?: OptionsWithPagination<T, R>): AsyncIterableIterator<T>;
- /**
- Returns an async iterator.
-
- See pagination.options for more pagination options.
-
- @example
- ```
- (async () => {
- const countLimit = 10;
-
- const pagination = got.paginate('https://api.github.com/repos/sindresorhus/got/commits', {
- pagination: {countLimit}
- });
-
- console.log(`Printing latest ${countLimit} Got commits (newest to oldest):`);
-
- for await (const commitData of pagination) {
- console.log(commitData.commit.message);
- }
- })();
- ```
- */
- each: (<T, R = unknown>(url: string | URL, options?: OptionsWithPagination<T, R>) => AsyncIterableIterator<T>) & (<T, R = unknown>(options?: OptionsWithPagination<T, R>) => AsyncIterableIterator<T>);
- /**
- Returns a Promise for an array of all results.
-
- See pagination.options for more pagination options.
-
- @example
- ```
- (async () => {
- const countLimit = 10;
-
- const results = await got.paginate.all('https://api.github.com/repos/sindresorhus/got/commits', {
- pagination: {countLimit}
- });
-
- console.log(`Printing latest ${countLimit} Got commits (newest to oldest):`);
- console.log(results);
- })();
- ```
- */
- all: (<T, R = unknown>(url: string | URL, options?: OptionsWithPagination<T, R>) => Promise<T[]>) & (<T, R = unknown>(options?: OptionsWithPagination<T, R>) => Promise<T[]>);
-}
-export interface GotRequestFunction {
- (url: string | URL, options?: OptionsOfTextResponseBody): CancelableRequest<Response<string>>;
- <T>(url: string | URL, options?: OptionsOfJSONResponseBody): CancelableRequest<Response<T>>;
- (url: string | URL, options?: OptionsOfBufferResponseBody): CancelableRequest<Response<Buffer>>;
- (url: string | URL, options?: OptionsOfUnknownResponseBody): CancelableRequest<Response>;
- (options: OptionsOfTextResponseBody): CancelableRequest<Response<string>>;
- <T>(options: OptionsOfJSONResponseBody): CancelableRequest<Response<T>>;
- (options: OptionsOfBufferResponseBody): CancelableRequest<Response<Buffer>>;
- (options: OptionsOfUnknownResponseBody): CancelableRequest<Response>;
- (url: string | URL, options?: (Merge<OptionsOfTextResponseBody, ResponseBodyOnly>)): CancelableRequest<string>;
- <T>(url: string | URL, options?: (Merge<OptionsOfJSONResponseBody, ResponseBodyOnly>)): CancelableRequest<T>;
- (url: string | URL, options?: (Merge<OptionsOfBufferResponseBody, ResponseBodyOnly>)): CancelableRequest<Buffer>;
- (options: (Merge<OptionsOfTextResponseBody, ResponseBodyOnly>)): CancelableRequest<string>;
- <T>(options: (Merge<OptionsOfJSONResponseBody, ResponseBodyOnly>)): CancelableRequest<T>;
- (options: (Merge<OptionsOfBufferResponseBody, ResponseBodyOnly>)): CancelableRequest<Buffer>;
- (url: string | URL, options?: Merge<Options, {
- isStream: true;
- }>): Request;
- (options: Merge<Options, {
- isStream: true;
- }>): Request;
- (url: string | URL, options?: Options): CancelableRequest | Request;
- (options: Options): CancelableRequest | Request;
-}
-/**
-All available HTTP request methods provided by Got.
-*/
-export declare type HTTPAlias = 'get' | 'post' | 'put' | 'patch' | 'head' | 'delete';
-interface GotStreamFunction {
- (url: string | URL, options?: Merge<Options, {
- isStream?: true;
- }>): Request;
- (options?: Merge<Options, {
- isStream?: true;
- }>): Request;
-}
-/**
-An instance of `got.stream()`.
-*/
-export declare type GotStream = GotStreamFunction & Record<HTTPAlias, GotStreamFunction>;
-/**
-An instance of `got`.
-*/
-export interface Got extends Record<HTTPAlias, GotRequestFunction>, GotRequestFunction {
- /**
- Sets `options.isStream` to `true`.
-
- Returns a [duplex stream](https://nodejs.org/api/stream.html#stream_class_stream_duplex) with additional events:
- - request
- - response
- - redirect
- - uploadProgress
- - downloadProgress
- - error
- */
- stream: GotStream;
- /**
- Returns an async iterator.
-
- See pagination.options for more pagination options.
-
- @example
- ```
- (async () => {
- const countLimit = 10;
-
- const pagination = got.paginate('https://api.github.com/repos/sindresorhus/got/commits', {
- pagination: {countLimit}
- });
-
- console.log(`Printing latest ${countLimit} Got commits (newest to oldest):`);
-
- for await (const commitData of pagination) {
- console.log(commitData.commit.message);
- }
- })();
- ```
- */
- paginate: GotPaginate;
- /**
- The Got defaults used in that instance.
- */
- defaults: InstanceDefaults;
- /**
- An error to be thrown when a cache method fails. For example, if the database goes down or there's a filesystem error.
- Contains a `code` property with `ERR_CACHE_ACCESS` or a more specific failure code.
- */
- CacheError: typeof CacheError;
- /**
- An error to be thrown when a request fails. Contains a `code` property with error class code, like `ECONNREFUSED`.
- If there is no specific code supplied, `code` defaults to `ERR_GOT_REQUEST_ERROR`.
- */
- RequestError: typeof RequestError;
- /**
- An error to be thrown when reading from response stream fails. Contains a `code` property with
- `ERR_READING_RESPONSE_STREAM` or a more specific failure code.
- */
- ReadError: typeof ReadError;
- /**
- An error to be thrown when server response code is 2xx, and parsing body fails. Includes a
- `response` property. Contains a `code` property with `ERR_BODY_PARSE_FAILURE` or a more specific failure code.
- */
- ParseError: typeof ParseError;
- /**
- An error to be thrown when the server response code is not 2xx nor 3xx if `options.followRedirect` is `true`, but always except for 304.
- Includes a `response` property. Contains a `code` property with `ERR_NON_2XX_3XX_RESPONSE` or a more specific failure code.
- */
- HTTPError: typeof HTTPError;
- /**
- An error to be thrown when the server redirects you more than ten times.
- Includes a `response` property. Contains a `code` property with `ERR_TOO_MANY_REDIRECTS`.
- */
- MaxRedirectsError: typeof MaxRedirectsError;
- /**
- An error to be thrown when given an unsupported protocol. Contains a `code` property with `ERR_UNSUPPORTED_PROTOCOL`.
- */
- UnsupportedProtocolError: typeof UnsupportedProtocolError;
- /**
- An error to be thrown when the request is aborted due to a timeout.
- Includes an `event` and `timings` property. Contains a `code` property with `ETIMEDOUT`.
- */
- TimeoutError: typeof TimeoutError;
- /**
- An error to be thrown when the request body is a stream and an error occurs while reading from that stream.
- Contains a `code` property with `ERR_UPLOAD` or a more specific failure code.
- */
- UploadError: typeof UploadError;
- /**
- An error to be thrown when the request is aborted with `.cancel()`. Contains a `code` property with `ERR_CANCELED`.
- */
- CancelError: typeof CancelError;
- /**
- Configure a new `got` instance with default `options`.
- The `options` are merged with the parent instance's `defaults.options` using `got.mergeOptions`.
- You can access the resolved options with the `.defaults` property on the instance.
-
- Additionally, `got.extend()` accepts two properties from the `defaults` object: `mutableDefaults` and `handlers`.
-
- It is also possible to merges many instances into a single one:
- - options are merged using `got.mergeOptions()` (including hooks),
- - handlers are stored in an array (you can access them through `instance.defaults.handlers`).
-
- @example
- ```js
- const client = got.extend({
- prefixUrl: 'https://example.com',
- headers: {
- 'x-unicorn': 'rainbow'
- }
- });
-
- client.get('demo');
-
- // HTTP Request =>
- // GET /demo HTTP/1.1
- // Host: example.com
- // x-unicorn: rainbow
- ```
- */
- extend: (...instancesOrOptions: Array<Got | ExtendOptions>) => Got;
- /**
- Merges multiple `got` instances into the parent.
- */
- mergeInstances: (parent: Got, ...instances: Got[]) => Got;
- /**
- Extends parent options.
- Avoid using [object spread](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax#Spread_in_object_literals) as it doesn't work recursively.
-
- Options are deeply merged to a new object. The value of each key is determined as follows:
-
- - If the new property is not defined, the old value is used.
- - If the new property is explicitly set to `undefined`:
- - If the parent property is a plain `object`, the parent value is deeply cloned.
- - Otherwise, `undefined` is used.
- - If the parent value is an instance of `URLSearchParams`:
- - If the new value is a `string`, an `object` or an instance of `URLSearchParams`, a new `URLSearchParams` instance is created.
- The values are merged using [`urlSearchParams.append(key, value)`](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams/append).
- The keys defined in the new value override the keys defined in the parent value.
- - Otherwise, the only available value is `undefined`.
- - If the new property is a plain `object`:
- - If the parent property is a plain `object` too, both values are merged recursively into a new `object`.
- - Otherwise, only the new value is deeply cloned.
- - If the new property is an `Array`, it overwrites the old one with a deep clone of the new property.
- - Properties that are not enumerable, such as `context`, `body`, `json`, and `form`, will not be merged.
- - Otherwise, the new value is assigned to the key.
-
- **Note:** Only Got options are merged! Custom user options should be defined via [`options.context`](#context).
-
- @example
- ```
- const a = {headers: {cat: 'meow', wolf: ['bark', 'wrrr']}};
- const b = {headers: {cow: 'moo', wolf: ['auuu']}};
-
- {...a, ...b} // => {headers: {cow: 'moo', wolf: ['auuu']}}
- got.mergeOptions(a, b) // => {headers: {cat: 'meow', cow: 'moo', wolf: ['auuu']}}
- ```
- */
- mergeOptions: (...sources: Options[]) => NormalizedOptions;
-}
-export {};
diff --git a/node_modules/got/dist/source/types.js b/node_modules/got/dist/source/types.js
deleted file mode 100644
index c8ad2e5..0000000
--- a/node_modules/got/dist/source/types.js
+++ /dev/null
@@ -1,2 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
diff --git a/node_modules/got/dist/source/utils/deep-freeze.d.ts b/node_modules/got/dist/source/utils/deep-freeze.d.ts
deleted file mode 100644
index 7c33e5c..0000000
--- a/node_modules/got/dist/source/utils/deep-freeze.d.ts
+++ /dev/null
@@ -1 +0,0 @@
-export default function deepFreeze<T extends Record<string, any>>(object: T): Readonly<T>;
diff --git a/node_modules/got/dist/source/utils/deep-freeze.js b/node_modules/got/dist/source/utils/deep-freeze.js
deleted file mode 100644
index a696d4e..0000000
--- a/node_modules/got/dist/source/utils/deep-freeze.js
+++ /dev/null
@@ -1,12 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-const is_1 = require("@sindresorhus/is");
-function deepFreeze(object) {
- for (const value of Object.values(object)) {
- if (is_1.default.plainObject(value) || is_1.default.array(value)) {
- deepFreeze(value);
- }
- }
- return Object.freeze(object);
-}
-exports.default = deepFreeze;
diff --git a/node_modules/got/dist/source/utils/deprecation-warning.d.ts b/node_modules/got/dist/source/utils/deprecation-warning.d.ts
deleted file mode 100644
index 1a08f96..0000000
--- a/node_modules/got/dist/source/utils/deprecation-warning.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-declare const _default: (message: string) => void;
-export default _default;
diff --git a/node_modules/got/dist/source/utils/deprecation-warning.js b/node_modules/got/dist/source/utils/deprecation-warning.js
deleted file mode 100644
index 3cfb7b2..0000000
--- a/node_modules/got/dist/source/utils/deprecation-warning.js
+++ /dev/null
@@ -1,13 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-const alreadyWarned = new Set();
-exports.default = (message) => {
- if (alreadyWarned.has(message)) {
- return;
- }
- alreadyWarned.add(message);
- // @ts-expect-error Missing types.
- process.emitWarning(`Got: ${message}`, {
- type: 'DeprecationWarning'
- });
-};