check validity of stream before returning

This commit is contained in:
mrjvs
2023-10-26 21:07:11 +02:00
parent 9d204c381f
commit bec7c07881
3 changed files with 25 additions and 1 deletions

View File

@@ -6,6 +6,7 @@ import { EmbedOutput, SourcererOutput } from '@/providers/base';
import { ProviderList } from '@/providers/get';
import { ScrapeContext } from '@/utils/context';
import { NotFoundError } from '@/utils/errors';
import { isValidStream } from '@/utils/valid';
export type IndividualSourceRunnerOptions = {
features: FeatureMap;
@@ -50,7 +51,7 @@ export async function scrapeInvidualSource(
});
// stream doesn't satisfy the feature flags, so gets removed in output
if (output?.stream && !flagsAllowedInFeatures(ops.features, output.stream.flags)) {
if (output?.stream && (!isValidStream(output.stream) || !flagsAllowedInFeatures(ops.features, output.stream.flags))) {
output.stream = undefined;
}
@@ -87,7 +88,9 @@ export async function scrapeIndividualEmbed(
},
});
if (!isValidStream(output.stream)) throw new NotFoundError('stream is incomplete');
if (!flagsAllowedInFeatures(ops.features, output.stream.flags))
throw new NotFoundError("stream doesn't satisfy target feature flags");
return output;
}