boxerror: always pass second error string

This commit is contained in:
Girish Ramakrishnan
2024-10-30 16:21:21 +01:00
parent a32b567eb1
commit 61341b8380
8 changed files with 65 additions and 66 deletions

View File

@@ -431,7 +431,7 @@ async function startContainer(containerId) {
const container = gConnection.getContainer(containerId);
const [error] = await safe(container.start());
if (error && error.statusCode === 404) throw new BoxError(BoxError.NOT_FOUND);
if (error && error.statusCode === 404) throw new BoxError(BoxError.NOT_FOUND, `Container ${containerId} not found`);
if (error && error.statusCode === 400) throw new BoxError(BoxError.BAD_FIELD, error); // e.g start.sh is not executable
if (error && error.statusCode !== 304) throw new BoxError(BoxError.DOCKER_ERROR, error); // 304 means already started
}
@@ -442,7 +442,7 @@ async function restartContainer(containerId) {
const container = gConnection.getContainer(containerId);
const [error] = await safe(container.restart());
if (error && error.statusCode === 404) throw new BoxError(BoxError.NOT_FOUND);
if (error && error.statusCode === 404) throw new BoxError(BoxError.NOT_FOUND, `Contanier ${containerId} not found`);
if (error && error.statusCode === 400) throw new BoxError(BoxError.BAD_FIELD, error); // e.g start.sh is not executable
if (error && error.statusCode !== 204) throw new BoxError(BoxError.DOCKER_ERROR, error);
}
@@ -572,7 +572,7 @@ async function createExec(containerId, options) {
const container = gConnection.getContainer(containerId);
const [error, exec] = await safe(container.exec(options));
if (error && error.statusCode === 404) throw new BoxError(BoxError.NOT_FOUND);
if (error && error.statusCode === 404) throw new BoxError(BoxError.NOT_FOUND, `Container ${containerId} not found`);
if (error && error.statusCode === 409) throw new BoxError(BoxError.BAD_STATE, error.message); // container restarting/not running
if (error) throw new BoxError(BoxError.DOCKER_ERROR, error);
@@ -585,7 +585,7 @@ async function startExec(execId, options) {
const exec = gConnection.getExec(execId);
const [error, stream] = await safe(exec.start(options)); /* in hijacked mode, stream is a net.socket */
if (error && error.statusCode === 404) throw new BoxError(BoxError.NOT_FOUND);
if (error && error.statusCode === 404) throw new BoxError(BoxError.NOT_FOUND, `Exec container ${execId} not found`);
if (error) throw new BoxError(BoxError.DOCKER_ERROR, error);
return stream;
}
@@ -607,7 +607,7 @@ async function resizeExec(execId, options) {
const exec = gConnection.getExec(execId);
const [error] = await safe(exec.resize(options)); // { h, w }
if (error && error.statusCode === 404) throw new BoxError(BoxError.NOT_FOUND);
if (error && error.statusCode === 404) throw new BoxError(BoxError.NOT_FOUND, `Exec container ${execId} not found`);
if (error) throw new BoxError(BoxError.DOCKER_ERROR, error);
}
@@ -625,7 +625,7 @@ async function memoryUsage(containerId) {
const container = gConnection.getContainer(containerId);
const [error, result] = await safe(container.stats({ stream: false }));
if (error && error.statusCode === 404) throw new BoxError(BoxError.NOT_FOUND);
if (error && error.statusCode === 404) throw new BoxError(BoxError.NOT_FOUND, `Container ${containerId} not found`);
if (error) throw new BoxError(BoxError.DOCKER_ERROR, error);
return result;