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