diff --git a/src/base-commands/base-command.js b/src/base-commands/base-command.js index 38de5f9b..4f664f1c 100644 --- a/src/base-commands/base-command.js +++ b/src/base-commands/base-command.js @@ -63,7 +63,7 @@ class BaseCommand extends Command { if (instanceOf(error, TwilioCliError)) { // User/API errors if (this.flags['cli-output-format'] === 'json') { - this.output(error); + this.output(error.data); } else { this.logger.error(error.message); this.logger.debug(error.stack); diff --git a/src/services/cli-http-client.js b/src/services/cli-http-client.js index bdc9b5d1..345a5842 100644 --- a/src/services/cli-http-client.js +++ b/src/services/cli-http-client.js @@ -94,8 +94,8 @@ class CliRequestClient { this.logger.debug(`response.headers: ${JSON.stringify(response.headers)}`); if (response.status < 200 || response.status >= 400) { - const { message, code, details } = this.formatErrorMessage(response.data); - throw new TwilioCliError(message, code, details); + const { message, code } = this.formatErrorMessage(response.data); + throw new TwilioCliError(message, code, response.data); } return { diff --git a/src/services/error.js b/src/services/error.js index bdf3eb88..3b63bc64 100644 --- a/src/services/error.js +++ b/src/services/error.js @@ -1,9 +1,9 @@ class TwilioCliError extends Error { - constructor(message, exitCode, details = 'No details provided') { + constructor(message, exitCode, data) { super(message); this.name = this.constructor.name; this.exitCode = exitCode; - this.details = details; + this.data = data; } } diff --git a/test/base-commands/base-command.test.js b/test/base-commands/base-command.test.js index f65294ee..5d944d3f 100644 --- a/test/base-commands/base-command.test.js +++ b/test/base-commands/base-command.test.js @@ -68,7 +68,7 @@ describe('base-commands', () => { await ctx.testCmd.catch(new TwilioCliError('oh no', 1, { errors: [{ message: 'oh no' }] })); }) .exit(1) - .it('can correctly display error details', (ctx) => { + .it('can correctly display error data', (ctx) => { expect(ctx.stdout).to.contain(`"message": "oh no"`); });