Fixed timeout issue
This commit is contained in:
parent
105bd25dc2
commit
d42ec39038
@ -141,10 +141,11 @@ class AvtocodProvider {
|
||||
console.log('Avtocod found vehicle: ', vehicle?.brand?.name?.original);
|
||||
return vehicle;
|
||||
} catch(ex) {
|
||||
console.log('Avtocod error: ', ex.message);
|
||||
ex.debugInfo = { autocod: DebugInfo.fromError(ex.message) };
|
||||
throw ex;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default AvtocodProvider;
|
||||
export default AvtocodProvider;
|
||||
|
||||
@ -20,11 +20,10 @@ class NomerogramProvider {
|
||||
let hash = createHash("sha256");
|
||||
hash.update(secretSource);
|
||||
let secret = hash.digest("hex");
|
||||
console.log("secret: ", secret);
|
||||
|
||||
let url = `${baseUrl}/group/list?from=${from}&carplate=${number}×tamp=${timestamp}&secret=${secret}&app_id=${appId}&device_id=${deviceId}`;
|
||||
let result = await fetch(url, {
|
||||
timeout: 5000,
|
||||
signal: AbortSignal.timeout(5000),
|
||||
headers: { "User-Agent": userAgent },
|
||||
});
|
||||
let json = await result.json();
|
||||
|
||||
@ -3,33 +3,18 @@ import DebugInfo from '../models/DebugInfo.js';
|
||||
import Vehicle from '../models/vehicle.js';
|
||||
import Utils from '../utils/utils.js';
|
||||
|
||||
const baseUrl = 'https://vin01.ru/v2';
|
||||
const baseUrl = 'https://vin-01.ru/v2';
|
||||
const reportBaseUrl = `${baseUrl}/gibddApp.php`;
|
||||
|
||||
async function fetchWithTimeout(url, params, timeout) {
|
||||
const controller = new AbortController();
|
||||
const timeoutId = setTimeout(() => {
|
||||
controller.abort();
|
||||
}, timeout);
|
||||
|
||||
let requestParams = params ?? {};
|
||||
requestParams.signal = controller.signal;
|
||||
|
||||
try {
|
||||
return await fetch(url, requestParams);
|
||||
} finally {
|
||||
clearInterval(timeoutId);
|
||||
}
|
||||
}
|
||||
|
||||
class Vin01Provider {
|
||||
static async getVin(number, token) {
|
||||
let url = `${baseUrl}/getVin.php?key=${token}&gosNumber=${encodeURIComponent(number)}`;
|
||||
let result = await fetchWithTimeout(url, null, 14000);
|
||||
let result = await fetch(url, { signal: AbortSignal.timeout(14000) });
|
||||
let json = await result.json();
|
||||
if(json.success && json.code == 200) {
|
||||
return json.data.vin;
|
||||
} else {
|
||||
console.log('Vin01 provider failed to get VIN');
|
||||
throw Error('Vin01 provider failed to get VIN');
|
||||
}
|
||||
}
|
||||
@ -77,6 +62,7 @@ class Vin01Provider {
|
||||
console.log('vin01 found VIN: ', vin);
|
||||
return await this.getReportVin(vin, number, token);
|
||||
} catch(ex) {
|
||||
console.log('Vin01 error: ', ex.message);
|
||||
ex.debugInfo = {
|
||||
vin01vin:DebugInfo.fromError(ex.message),
|
||||
vin01history: DebugInfo.fromError('Not applicable (VIN was not found)'),
|
||||
@ -160,4 +146,4 @@ class Vin01Provider {
|
||||
}
|
||||
}
|
||||
|
||||
export default Vin01Provider;
|
||||
export default Vin01Provider;
|
||||
|
||||
@ -9,6 +9,7 @@ module.exports = {
|
||||
autorestart: true,
|
||||
watch: false,
|
||||
max_memory_restart: '1G',
|
||||
log_date_format: 'YYYY-MM-DD HH:mm:ss',
|
||||
env: {
|
||||
NODE_ENV: 'development'
|
||||
},
|
||||
Loading…
Reference in New Issue
Block a user