unity-i18n
Version:
i18n tool for unity game project
58 lines • 1.63 kB
JavaScript
import axios from "axios";
import { Cmd } from "./Cmd.js";
export const __http_record = {
lastURL: ''
};
const http_cfg = {
tool: 'curl'
};
export async function httpGet(url, param, config) {
if (param != null) {
let pstr = '';
if (typeof (param) === 'object') {
pstr = Object.keys(param).map((value) => value + '=' + param[value]).join('&');
}
else {
pstr = param;
}
if (url.includes('?')) {
if (url.endsWith('?'))
url += pstr;
else
url += '&' + pstr;
}
else {
url = url + '?' + pstr;
}
}
let out = null, errMsg = null;
try {
__http_record.lastURL = url;
if (http_cfg.tool == 'axios') {
const opt = { timeout: 3000 };
if (config != null)
Object.assign(opt, config);
let rsp = await axios.get(url, opt);
out = rsp.data;
}
else {
const cmd = new Cmd();
await cmd.run('curl', [url, '--silent'], { silent: true });
if (cmd.output.startsWith('Curl error')) {
errMsg = cmd.output;
}
else {
out = JSON.parse(cmd.output);
}
}
if (out != null)
return { data: out, url };
}
catch (e) {
if (errMsg == null) {
errMsg = `http get ${url}, ${e.code}`;
}
}
return { data: null, errMsg, url };
}
//# sourceMappingURL=http.js.map