Skip to content

Commit 7ec085a

Browse files
authored
Catch NotFound and Moderated exceptions when processing scorecards in search index and its display. (#8875)
1 parent d16480d commit 7ec085a

File tree

2 files changed

+23
-14
lines changed

2 files changed

+23
-14
lines changed

app/lib/scorecard/backend.dart

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,9 @@ class ScoreCardBackend {
7373
@visibleForTesting
7474
Future<PackageView?> getPackageView(String package) async {
7575
return await cache.packageView(package).get(() async {
76+
if (!await packageBackend.isPackageVisible(package)) {
77+
return null;
78+
}
7679
final p = await packageBackend.lookupPackage(package);
7780
if (p == null) {
7881
_logger.warning('Package lookup failed for "$package".');
@@ -85,20 +88,24 @@ class ScoreCardBackend {
8588
return null;
8689
}
8790

88-
final releases = await packageBackend.latestReleases(p);
89-
final pvFuture = packageBackend.lookupPackageVersion(package, version);
90-
final cardFuture = scoreCardBackend.getScoreCardData(package, version);
91-
await Future.wait([pvFuture, cardFuture]);
92-
93-
final pv = await pvFuture;
94-
final card = await cardFuture;
95-
96-
return PackageView.fromModel(
97-
package: p,
98-
releases: releases,
99-
version: pv,
100-
scoreCard: card,
101-
);
91+
try {
92+
final releases = await packageBackend.latestReleases(p);
93+
final pvFuture = packageBackend.lookupPackageVersion(package, version);
94+
final cardFuture = scoreCardBackend.getScoreCardData(package, version);
95+
await Future.wait([pvFuture, cardFuture]);
96+
97+
final pv = await pvFuture;
98+
final card = await cardFuture;
99+
100+
return PackageView.fromModel(
101+
package: p,
102+
releases: releases,
103+
version: pv,
104+
scoreCard: card,
105+
);
106+
} on NotFoundException catch (_) {
107+
return null;
108+
}
102109
});
103110
}
104111

app/lib/search/backend.dart

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,8 @@ class SearchBackend {
171171
snapshot.add(doc);
172172
} on RemovedPackageException catch (_) {
173173
snapshot.remove(package);
174+
} on NotFoundException catch (_) {
175+
snapshot.remove(package);
174176
}
175177
});
176178
}

0 commit comments

Comments
 (0)