Merge pull request #420 from judsonjuniorr/proxy-error-handler

Improve proxy error handling
This commit is contained in:
Davidson Gomes 2024-02-16 08:27:49 -03:00 committed by GitHub
commit 1cd0334ccd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -26,11 +26,11 @@ export class ProxyController {
}
if (data.proxy) {
logger.verbose('proxy enabled');
const testProxy = await this.testProxy(data.proxy);
if (!testProxy) {
throw new BadRequestException('Invalid proxy');
}
logger.verbose('proxy enabled');
}
return this.proxyService.create(instance, data);
@ -54,14 +54,18 @@ export class ProxyController {
httpsAgent: makeProxyAgent(proxy),
});
logger.verbose('testProxy response: ' + response.data);
return response.data !== serverIp.data;
logger.verbose('[testProxy] from IP: ' + response?.data + ' To IP: ' + serverIp?.data);
return response?.data !== serverIp?.data;
} catch (error) {
let errorMessage = error;
if (axios.isAxiosError(error) && error.response.data) {
errorMessage = error.response.data;
if (axios.isAxiosError(error) && error.response?.data) {
logger.error('testProxy error: ' + error.response.data);
} else if (axios.isAxiosError(error)) {
logger.error('testProxy error: ');
logger.verbose(error.cause ?? error.message);
} else {
logger.error('testProxy error: ');
logger.verbose(error);
}
logger.error('testProxy error: ' + errorMessage);
return false;
}
}