Migrate to Axios

This commit is contained in:
ibratabian17
2024-07-01 17:08:08 +08:00
parent 21e6b2f304
commit f0a72b7658
3 changed files with 64 additions and 46 deletions

View File

@@ -8,7 +8,6 @@ const core = {
CloneObject: require('../helper').CloneObject, getSavefilePath: require('../helper').getSavefilePath,
generateCarousel: require('../carousel/carousel').generateCarousel, generateSweatCarousel: require('../carousel/carousel').generateSweatCarousel, generateCoopCarousel: require('../carousel/carousel').generateCoopCarousel, updateMostPlayed: require('../carousel/carousel').updateMostPlayed
}
var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
const DOTW_PATH = path.join(core.getSavefilePath(), 'leaderboard/dotw/');
function generateToolNickname() {
@@ -27,29 +26,34 @@ function generateToolNickname() {
}
}
const getProfileData = (req) => {
return new Promise((resolve, reject) => {
const getProfileData = async (req) => {
try {
const ticket = req.header("Authorization");
const sku = req.header('X-SkuId');
const prodwsurl = "https://prod.just-dance.com/";
const xhr33 = new XMLHttpRequest();
xhr33.open(req.method, prodwsurl + req.url, true);
xhr33.setRequestHeader("X-SkuId", sku);
xhr33.setRequestHeader("Authorization", ticket);
xhr33.setRequestHeader("Content-Type", "application/json");
const response = await axios({
method: req.method,
url: prodwsurl + req.url,
headers: {
"X-SkuId": sku,
"Authorization": ticket,
"Content-Type": "application/json"
},
data: req.body
});
xhr33.onload = () => {
if (xhr33.status >= 200 && xhr33.status < 300) {
resolve(JSON.parse(xhr33.responseText));
} else {
reject(new Error(`HTTP status ${xhr33.status}`));
}
};
xhr33.onerror = () => reject(new Error('Network error'));
xhr33.send(JSON.stringify(req.body));
});
return response.data;
} catch (error) {
if (error.response) {
throw new Error(`HTTP status ${error.response.status}`);
} else if (error.request) {
throw new Error('Network error');
} else {
throw new Error(error.message);
}
}
};
const getGameVersion = (req) => {

View File

@@ -1,5 +1,6 @@
var axios = require("axios");
function initroute(app) {
var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
var prodwsurl = "https://jmcs-prod.just-dance.com"
app.post("/wdf/v1/assign-room", (req, res) => {
res.send(require("../../database/wdf/assign-room-pc.json"));
@@ -272,30 +273,45 @@ function initroute(app) {
})
});
app.get("/wdf/v1/rooms/" + "FAKEWDF" + "/*", (req, res) => {
var ticket = req.header("Authorization")
var xhr = new XMLHttpRequest();
var n = req.url.lastIndexOf('/');
var result = req.url.substr(0)
xhr.open('GET', prodwsurl + result, false);
xhr.setRequestHeader('X-SkuId');
xhr.setRequestHeader('Authorization', ticket);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.send();
res.send(xhr.responseText);
app.get("/wdf/v1/rooms/" + "FAKEWDF" + "/*", async (req, res) => {
try {
const ticket = req.header("Authorization");
const result = req.url; // This gets the full URL path including the FAKEWDF and additional path segments
const response = await axios.get(prodwsurl + result, {
headers: {
'X-SkuId': '',
'Authorization': ticket,
'Content-Type': 'application/json'
}
});
res.send(response.data);
} catch (error) {
console.error(error);
res.status(error.response ? error.response.status : 500).send(error.message);
}
});
app.post("/wdf/v1/rooms/" + "FAKEWDF" + "/*", (req, res) => {
var ticket = req.header("Authorization")
var xhr = new XMLHttpRequest();
var n = req.url.lastIndexOf('/');
var result = req.url.substr(0)
xhr.open('POST', prodwsurl + result, false);
xhr.setRequestHeader('X-SkuId');
xhr.setRequestHeader('Authorization', ticket);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.send(JSON.stringify(req.body, null, 2));
res.send(xhr.responseText);
app.post("/wdf/v1/rooms/" + "FAKEWDF" + "/*", async (req, res) => {
try {
const ticket = req.header("Authorization");
const result = req.url; // This gets the full URL path including the FAKEWDF and additional path segments
const response = await axios.post(prodwsurl + result, req.body, {
headers: {
'X-SkuId': '',
'Authorization': ticket,
'Content-Type': 'application/json'
}
});
res.send(response.data);
} catch (error) {
console.error(error);
res.status(error.response ? error.response.status : 500).send(error.message);
}
});
}
module.exports = { initroute }

View File

@@ -16,10 +16,8 @@
"express": "^4.19.2",
"fs": "^0.0.1-security",
"md5": "^2.3.0",
"mongoose": "^5.13.22",
"pm2": "^5.3.0",
"request-country": "^0.1.2",
"xmlhttprequest": "^1.8.0"
"request-country": "^0.1.2"
},
"engines": {
"node": ">=16.0.0",