Skip to content

Commit 3b31fe5

Browse files
committed
fix: better error message when unable to get video metadata
1 parent c529063 commit 3b31fe5

File tree

2 files changed

+7
-7
lines changed

2 files changed

+7
-7
lines changed

lib/info.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,24 +58,24 @@ exports.getBasicInfo = async(id, options) => {
5858

5959
let getWatchPage = async(maxRetries = 1) => {
6060
let body = await miniget(jsonEndpointURL, reqOptions).text();
61-
let info;
61+
let parsedBody;
6262
try {
6363
let jsonClosingChars = /^[)\]}'\s]+/;
6464
if (jsonClosingChars.test(body)) {
6565
body = body.replace(jsonClosingChars, '');
6666
}
67-
let parsedBody = JSON.parse(body);
67+
parsedBody = JSON.parse(body);
6868
if (parsedBody.reload === 'now' && maxRetries > 0) {
6969
await setIdentityToken('browser', false);
7070
return getWatchPage(maxRetries - 1);
7171
}
72-
if (!Array.isArray(parsedBody)) {
73-
throw Error('Unable to retrieve video metadata');
74-
}
75-
info = parsedBody.reduce((part, curr) => Object.assign(curr, part), {});
7672
} catch (err) {
7773
throw Error(`Error parsing info: ${err.message}`);
7874
}
75+
if (!Array.isArray(parsedBody)) {
76+
throw Error('Unable to retrieve video metadata');
77+
}
78+
let info = parsedBody.reduce((part, curr) => Object.assign(curr, part), {});
7979
return [info, body];
8080
};
8181

test/info-test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -406,7 +406,7 @@ describe('ytdl.getInfo()', () => {
406406
type: 'with-cookie',
407407
watch: 'reload-now',
408408
});
409-
await assert.rejects(ytdl.getInfo(id), /Unable to retrieve video metadata/);
409+
await assert.rejects(ytdl.getInfo(id), /Error: Unable to retrieve video metadata/);
410410
scope.done();
411411
scope2.done();
412412
});

0 commit comments

Comments
 (0)