mirror of
https://github.com/movie-web/providers.git
synced 2025-09-13 18:13:25 +00:00
Merge pull request #20 from movie-web/fix-incomplete-error
Fix "incomplete stream" error on flixhq & zoechip
This commit is contained in:
55
src/__test__/utils/valid.test.ts
Normal file
55
src/__test__/utils/valid.test.ts
Normal file
@@ -0,0 +1,55 @@
|
||||
import { makeStandardFetcher } from "@/fetchers/standardFetch";
|
||||
import { makeProviders } from "@/main/builder";
|
||||
import { targets } from "@/main/targets";
|
||||
import { isValidStream } from "@/utils/valid";
|
||||
import fetch from "node-fetch";
|
||||
import { describe, it, expect } from "vitest";
|
||||
|
||||
describe('isValidStream()', () => {
|
||||
it('should pass valid streams', () => {
|
||||
expect(isValidStream({
|
||||
type: "file",
|
||||
flags: [],
|
||||
qualities: {
|
||||
"1080": {
|
||||
type: "mp4",
|
||||
url: "hello-world"
|
||||
}
|
||||
}
|
||||
})).toBe(true);
|
||||
expect(isValidStream({
|
||||
type: "hls",
|
||||
flags: [],
|
||||
playlist: "hello-world"
|
||||
})).toBe(true);
|
||||
});
|
||||
|
||||
it('should detect empty qualities', () => {
|
||||
expect(isValidStream({
|
||||
type: "file",
|
||||
flags: [],
|
||||
qualities: {}
|
||||
})).toBe(false);
|
||||
});
|
||||
|
||||
it('should detect empty stream urls', () => {
|
||||
expect(isValidStream({
|
||||
type: "file",
|
||||
flags: [],
|
||||
qualities: {
|
||||
"1080": {
|
||||
type: "mp4",
|
||||
url: "",
|
||||
}
|
||||
}
|
||||
})).toBe(false);
|
||||
});
|
||||
|
||||
it('should detect emtpy HLS playlists', () => {
|
||||
expect(isValidStream({
|
||||
type: "hls",
|
||||
flags: [],
|
||||
playlist: "",
|
||||
})).toBe(false);
|
||||
});
|
||||
});
|
@@ -80,7 +80,7 @@ export async function runAllProviders(list: ProviderList, ops: ProviderRunnerOpt
|
||||
...contextBase,
|
||||
media: ops.media,
|
||||
});
|
||||
if (!isValidStream(output?.stream)) {
|
||||
if (output?.stream && !isValidStream(output?.stream)) {
|
||||
throw new NotFoundError('stream is incomplete');
|
||||
}
|
||||
if (output?.stream && !flagsAllowedInFeatures(ops.features, output.stream.flags)) {
|
||||
|
Reference in New Issue
Block a user