Skip to content

Commit 165465c

Browse files
committed
fix: leak response body
1 parent 3b654a7 commit 165465c

File tree

1 file changed

+17
-4
lines changed

1 file changed

+17
-4
lines changed

src/index.ts

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -303,20 +303,33 @@ export function getAllChangesetsFromDb(
303303
db: string = UNITY_CHANGESETS_DB_URL,
304304
): Promise<UnityChangeset[]> {
305305
return fetch(db)
306-
.then((res) => {
306+
.then(async (res) => {
307307
if (!res.ok) {
308+
await res.text(); // Consume the response body to avoid leaks
308309
throw Error(
309310
`The Unity changeset database could not be fetched: ${res.status} ${res.statusText}`,
310311
);
311312
}
312313

313-
return res.json() as Promise<any[]>;
314+
return res.json() as Promise<unknown>;
314315
})
315-
.then((data) => {
316+
.then((data: unknown) => {
316317
if (!Array.isArray(data)) {
317318
throw new Error("Invalid changeset database format: expected array");
318319
}
319-
return data.map((item) => new UnityChangeset(item.version, item.changeset, item.stream, item.entitlements));
320+
return (data as {
321+
version: string;
322+
changeset: string;
323+
stream?: string;
324+
entitlements?: string[];
325+
}[]).map((item) =>
326+
new UnityChangeset(
327+
item.version,
328+
item.changeset,
329+
item.stream as UnityReleaseStream,
330+
item.entitlements as UnityReleaseEntitlement[],
331+
)
332+
);
320333
});
321334
}
322335

0 commit comments

Comments
 (0)