Merge commit from fork

Fix GHSA-7899-w6c4-vqc4
This commit is contained in:
おさむのひと 2025-04-28 07:52:26 +09:00 committed by GitHub
commit 45153b4f08
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 7 additions and 1 deletions

View File

@ -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<ReturnType<t
const activityPub =
$('link[rel="alternate"][type="application/activity+json"]').attr('href') || null;
const fediverseCreator: string | null =
const fediverseCreator: string | null =
$('meta[name=\'fediverse:creator\']').attr('content') || null;
// https://developer.mixi.co.jp/connect/mixi_plugin/mixi_check/spec_mixi_check/#toc-18-

View File

@ -119,6 +119,7 @@ export const summaly = async (url: string, options?: SummalyOptions): Promise<Su
lang: opts.lang,
userAgent: opts.userAgent,
responseTimeout: opts.responseTimeout,
followRedirects: opts.followRedirects,
operationTimeout: opts.operationTimeout,
contentLengthLimit: opts.contentLengthLimit,
contentLengthRequired: opts.contentLengthRequired,

View File

@ -24,6 +24,7 @@ export type GotOptions = {
body?: string;
headers: Record<string, string | undefined>;
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: {