feat: Update error handling to use getErrorMessage utility and improve logging across multiple services

This commit is contained in:
2025-11-25 08:25:54 +00:00
parent c59d56e70a
commit e94906b3bf
13 changed files with 97 additions and 75 deletions

View File

@@ -5,6 +5,7 @@
*/
import { logger } from '../logging.ts';
import { getErrorMessage } from '../utils/error.ts';
import { OneboxDatabase } from './database.ts';
interface IProxyRoute {
@@ -43,7 +44,7 @@ export class OneboxReverseProxy {
try {
logger.info('Reverse proxy initialized');
} catch (error) {
logger.error(`Failed to initialize reverse proxy: ${error.message}`);
logger.error(`Failed to initialize reverse proxy: ${getErrorMessage(error)}`);
throw error;
}
}
@@ -77,7 +78,7 @@ export class OneboxReverseProxy {
logger.success(`HTTP reverse proxy started on port ${this.httpPort}`);
} catch (error) {
logger.error(`Failed to start HTTP reverse proxy: ${error.message}`);
logger.error(`Failed to start HTTP reverse proxy: ${getErrorMessage(error)}`);
throw error;
}
}
@@ -122,7 +123,7 @@ export class OneboxReverseProxy {
logger.success(`HTTPS reverse proxy started on port ${this.httpsPort}`);
} catch (error) {
logger.error(`Failed to start HTTPS reverse proxy: ${error.message}`);
logger.error(`Failed to start HTTPS reverse proxy: ${getErrorMessage(error)}`);
// Don't throw - HTTPS is optional
logger.warn('Continuing without HTTPS support');
}
@@ -197,7 +198,7 @@ export class OneboxReverseProxy {
headers: this.filterResponseHeaders(response.headers),
});
} catch (error) {
logger.error(`Proxy error for ${host}: ${error.message}`);
logger.error(`Proxy error for ${host}: ${getErrorMessage(error)}`);
return new Response('Bad Gateway', {
status: 502,
headers: { 'Content-Type': 'text/plain' },
@@ -264,7 +265,7 @@ export class OneboxReverseProxy {
return response;
} catch (error) {
logger.error(`WebSocket upgrade error: ${error.message}`);
logger.error(`WebSocket upgrade error: ${getErrorMessage(error)}`);
return new Response('WebSocket Upgrade Failed', {
status: 500,
headers: { 'Content-Type': 'text/plain' },
@@ -353,7 +354,7 @@ export class OneboxReverseProxy {
this.routes.set(domain, route);
logger.success(`Added proxy route: ${domain} -> ${targetHost}:${targetPort}`);
} catch (error) {
logger.error(`Failed to add route for ${domain}: ${error.message}`);
logger.error(`Failed to add route for ${domain}: ${getErrorMessage(error)}`);
throw error;
}
}
@@ -395,7 +396,7 @@ export class OneboxReverseProxy {
logger.success(`Loaded ${this.routes.size} proxy routes`);
} catch (error) {
logger.error(`Failed to reload routes: ${error.message}`);
logger.error(`Failed to reload routes: ${getErrorMessage(error)}`);
throw error;
}
}
@@ -423,7 +424,7 @@ export class OneboxReverseProxy {
logger.warn('HTTPS server restart required for new certificate to take effect');
}
} catch (error) {
logger.error(`Failed to add certificate for ${domain}: ${error.message}`);
logger.error(`Failed to add certificate for ${domain}: ${getErrorMessage(error)}`);
throw error;
}
}
@@ -455,7 +456,7 @@ export class OneboxReverseProxy {
try {
await this.addCertificate(cert.domain, cert.fullChainPath, cert.keyPath);
} catch (error) {
logger.warn(`Failed to load certificate for ${cert.domain}: ${error.message}`);
logger.warn(`Failed to load certificate for ${cert.domain}: ${getErrorMessage(error)}`);
}
}
}
@@ -470,7 +471,7 @@ export class OneboxReverseProxy {
await this.startHttps();
}
} catch (error) {
logger.error(`Failed to reload certificates: ${error.message}`);
logger.error(`Failed to reload certificates: ${getErrorMessage(error)}`);
throw error;
}
}