avoid crash when url is invalid

This commit is contained in:
Pablo Ferreiro
2024-06-30 16:16:39 +02:00
parent 32bc4c90d5
commit 040625f34e
4 changed files with 33 additions and 17 deletions

View File

@@ -90,21 +90,27 @@ class Signer {
/**
* Sign a TikTok URL
* @param {string} url_str Unsigned URL
* @returns Object with signed data
* @returns Object with signed data or null if error
*/
sign(url_str) {
const url = new URL(url_str);
const signature = this.signature(url.toString());
url.searchParams.append('_signature', signature);
const bogus = this.bogus(url.searchParams.toString());
url.searchParams.append('X-Bogus', bogus);
const xttparams = this.xttparams(url.searchParams.toString());
return {
signature: signature,
signed_url: url.toString(),
"x-tt-params": xttparams,
"X-Bogus": bogus
};
try {
const url = new URL(url_str);
const signature = this.signature(url.toString());
url.searchParams.append('_signature', signature);
const bogus = this.bogus(url.searchParams.toString());
url.searchParams.append('X-Bogus', bogus);
const xttparams = this.xttparams(url.searchParams.toString());
return {
signature: signature,
signed_url: url.toString(),
"x-tt-params": xttparams,
"X-Bogus": bogus
};
} catch (_e) {
return null;
} finally {
}
}
}

View File

@@ -1,5 +1,12 @@
class Utils {
static makePayload(data, navigator) {
if (data === null) {
return JSON.stringify({
status: "error",
data: "There was an error processing your request! Is your URL valid?"
})
}
return JSON.stringify({
status: "ok",
data: {