diff --git a/src/extractor/Dropload.ts b/src/extractor/Dropload.ts index 4a76628..919e89f 100644 --- a/src/extractor/Dropload.ts +++ b/src/extractor/Dropload.ts @@ -19,7 +19,7 @@ export class Dropload implements Extractor { readonly supports = (url: URL): boolean => null !== url.host.match(/dropload/); readonly extract = async (ctx: Context, url: URL, countryCode: string) => { - const normalizedUrl = url.toString().replace('/e/', '').replace('/embed-', '/'); + const normalizedUrl = url.href.replace('/e/', '').replace('/embed-', '/'); const html = await this.fetcher.text(ctx, new URL(normalizedUrl)); const heightMatch = html.match(/\d{3,}x(\d{3,}),/) as string[]; diff --git a/src/extractor/Mixdrop.ts b/src/extractor/Mixdrop.ts index 63e5c19..bfff90f 100644 --- a/src/extractor/Mixdrop.ts +++ b/src/extractor/Mixdrop.ts @@ -19,12 +19,12 @@ export class Mixdrop implements Extractor { readonly supports = (url: URL): boolean => null !== url.host.match(/mixdrop/); readonly extract = async (ctx: Context, url: URL, countryCode: string) => { - const normalizedFullUrl = url.toString().replace('/e/', '/f/'); + const normalizedFullUrl = url.href.replace('/e/', '/f/'); const fullHtml = await this.fetcher.text(ctx, new URL(normalizedFullUrl)); const sizeMatch = fullHtml.match(/([\d.]+ ?[GM]B)/) as string[]; - const normalizedEmbedUrl = url.toString().replace('/f/', '/e/'); + const normalizedEmbedUrl = url.href.replace('/f/', '/e/'); const embedHtml = await this.fetcher.text(ctx, new URL(normalizedEmbedUrl)); return { diff --git a/src/extractor/SuperVideo.ts b/src/extractor/SuperVideo.ts index e458f90..6565f31 100644 --- a/src/extractor/SuperVideo.ts +++ b/src/extractor/SuperVideo.ts @@ -19,7 +19,7 @@ export class SuperVideo implements Extractor { readonly supports = (url: URL): boolean => null !== url.host.match(/supervideo/); readonly extract = async (ctx: Context, url: URL, countryCode: string) => { - const normalizedUrl = url.toString().replace('/e/', '/').replace('/embed-', '/'); + const normalizedUrl = url.href.replace('/e/', '/').replace('/embed-', '/'); const html = await this.fetcher.text(ctx, new URL(normalizedUrl)); const heightAndSizeMatch = html.match(/\d{3,}x(\d{3,}), ([\d.]+ ?[GM]B)/) as string[]; diff --git a/src/utils/StreamResolver.ts b/src/utils/StreamResolver.ts index fba7b0d..0c74b0b 100644 --- a/src/utils/StreamResolver.ts +++ b/src/utils/StreamResolver.ts @@ -78,7 +78,7 @@ export class StreamResolver { } return { - url: urlResult.url.toString(), + url: urlResult.url.href, name, title, behaviorHints: {