diff --git a/src/general.ts b/src/general.ts index 9d8d549..66d7423 100644 --- a/src/general.ts +++ b/src/general.ts @@ -132,6 +132,7 @@ async function getOEmbedPlayer($: cheerio.CheerioAPI, pageUrl: string): Promise< export type GeneralScrapingOptions = { lang?: string | null; userAgent?: string; + followRedirects?: boolean; responseTimeout?: number; operationTimeout?: number; contentLengthLimit?: number; @@ -147,6 +148,7 @@ export async function general(_url: URL | string, opts?: GeneralScrapingOptions) const res = await scpaping(url.href, { lang: lang || undefined, userAgent: opts?.userAgent, + followRedirects: opts?.followRedirects, responseTimeout: opts?.responseTimeout, operationTimeout: opts?.operationTimeout, contentLengthLimit: opts?.contentLengthLimit, @@ -251,7 +253,7 @@ export async function parseGeneral(_url: URL | string, res: Awaited; typeFilter?: RegExp; + followRedirects?: boolean; responseTimeout?: number; operationTimeout?: number; contentLengthLimit?: number; @@ -46,6 +47,7 @@ export function getGotOptions(url: string, opts?: GeneralScrapingOptions): Omit< 'accept-language': opts?.lang ?? undefined, }, typeFilter: /^(text\/html|application\/xhtml\+xml)/, + followRedirects: opts?.followRedirects, responseTimeout: opts?.responseTimeout, operationTimeout: opts?.operationTimeout, contentLengthLimit: opts?.contentLengthLimit, @@ -114,6 +116,7 @@ export async function getResponse(args: GotOptions) { send: timeout, request: operationTimeout, // whole operation timeout }, + followRedirect: args.followRedirects, agent, http2: false, retry: {