Make reverseProxy return BoxError consistently

This commit is contained in:
Girish Ramakrishnan
2019-10-24 10:28:38 -07:00
parent dc10b8a07f
commit 8d944f74c0

View File

@@ -170,7 +170,11 @@ function validateCertificate(location, domainObject, certificate) {
function reload(callback) {
if (process.env.BOX_ENV === 'test') return callback();
shell.sudo('reload', [ RELOAD_NGINX_CMD ], {}, callback);
shell.sudo('reload', [ RELOAD_NGINX_CMD ], {}, function (error) {
if (error) return callback(new BoxError(BoxError.NGINX_ERROR, error));
callback();
});
}
function generateFallbackCertificateSync(domainObject) {
@@ -390,7 +394,7 @@ function writeAdminNginxConfig(bundle, configFileName, vhost, callback) {
var nginxConf = ejs.render(NGINX_APPCONFIG_EJS, data);
var nginxConfigFilename = path.join(paths.NGINX_APPCONFIG_DIR, configFileName);
if (!safe.fs.writeFileSync(nginxConfigFilename, nginxConf)) return callback(safe.error);
if (!safe.fs.writeFileSync(nginxConfigFilename, nginxConf)) return callback(new BoxError(BoxError.FS_ERROR, safe.error));
reload(callback);
}
@@ -469,7 +473,7 @@ function writeAppNginxConfig(app, bundle, callback) {
if (!safe.fs.writeFileSync(nginxConfigFilename, nginxConf)) {
debug('Error creating nginx config for "%s" : %s', app.fqdn, safe.error.message);
return callback(safe.error);
return callback(new BoxError(BoxError.FS_ERROR, safe.error));
}
reload(callback);
@@ -501,7 +505,7 @@ function writeAppRedirectNginxConfig(app, fqdn, bundle, callback) {
if (!safe.fs.writeFileSync(nginxConfigFilename, nginxConf)) {
debug('Error creating nginx redirect config for "%s" : %s', app.fqdn, safe.error.message);
return callback(safe.error);
return callback(new BoxError(BoxError.FS_ERROR, safe.error));
}
reload(callback);
@@ -610,7 +614,7 @@ function renewCerts(options, auditSource, progressCallback, callback) {
if (appDomain.type === 'webadmin') configureFunc = writeAdminNginxConfig.bind(null, bundle, `${settings.adminFqdn()}.conf`, settings.adminFqdn());
else if (appDomain.type === 'main') configureFunc = writeAppNginxConfig.bind(null, appDomain.app, bundle);
else if (appDomain.type === 'alternate') configureFunc = writeAppRedirectNginxConfig.bind(null, appDomain.app, appDomain.fqdn, bundle);
else return iteratorCallback(new Error(`Unknown domain type for ${appDomain.fqdn}. This should never happen`));
else return iteratorCallback(new BoxError(BoxError.INTERNAL_ERROR, `Unknown domain type for ${appDomain.fqdn}. This should never happen`));
configureFunc(iteratorCallback);
});
@@ -646,7 +650,7 @@ function writeDefaultConfig(callback) {
var cn = 'cloudron-' + (new Date()).toISOString(); // randomize date a bit to keep firefox happy
if (!safe.child_process.execSync(`openssl req -x509 -newkey rsa:2048 -keyout ${keyFilePath} -out ${certFilePath} -days 3650 -subj /CN=${cn} -nodes`)) {
debug(`writeDefaultConfig: could not generate certificate: ${safe.error.message}`);
return callback(safe.error);
return callback(new BoxError(BoxError.OPENSSL_ERROR, safe.error));
}
}