Show challenge when requested by server
This commit is contained in:
parent
03c68da17d
commit
986d8a66bc
42 changed files with 1986 additions and 128 deletions
|
@ -23,6 +23,14 @@ export function isSgnlHref(value: string | URL, logger: LoggerType): boolean {
|
|||
return url !== null && url.protocol === 'sgnl:';
|
||||
}
|
||||
|
||||
export function isCaptchaHref(
|
||||
value: string | URL,
|
||||
logger: LoggerType
|
||||
): boolean {
|
||||
const url = parseUrl(value, logger);
|
||||
return url !== null && url.protocol === 'signalcaptcha:';
|
||||
}
|
||||
|
||||
export function isSignalHttpsLink(
|
||||
value: string | URL,
|
||||
logger: LoggerType
|
||||
|
@ -64,6 +72,23 @@ export function parseSgnlHref(
|
|||
};
|
||||
}
|
||||
|
||||
type ParsedCaptchaHref = {
|
||||
readonly captcha: string;
|
||||
};
|
||||
export function parseCaptchaHref(
|
||||
href: URL | string,
|
||||
logger: LoggerType
|
||||
): ParsedCaptchaHref {
|
||||
const url = parseUrl(href, logger);
|
||||
if (!url || !isCaptchaHref(url, logger)) {
|
||||
throw new Error('Not a captcha href');
|
||||
}
|
||||
|
||||
return {
|
||||
captcha: url.host,
|
||||
};
|
||||
}
|
||||
|
||||
export function parseSignalHttpsLink(
|
||||
href: string,
|
||||
logger: LoggerType
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue