Skip to content

Commit d5ea928

Browse files
committed
Instantiate client Errors with the correct message.
Fix the issue outlined in #200.
1 parent 496e137 commit d5ea928

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

lib/client.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ export default class Client {
145145
if (f.length >= 2) {
146146
if (res && res.body && res.body.type === 'error.list') {
147147
let message = null;
148-
if (Array.isArray(res.body.errors) && res.body.errors[0] && 'message' in res.body.errors) {
148+
if (Array.isArray(res.body.errors) && res.body.errors[0] && 'message' in res.body.errors[0]) {
149149
// Try to use the first errors message
150150
message = res.body.errors[0].message;
151151
}

test/errors.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ describe('errors', () => {
4545
assert.strictEqual(err.statusCode, 401);
4646
assert.strictEqual(err.body.request_id, 'b2i3ri5909msvfqskol0');
4747
assert.deepStrictEqual(err.body.errors, [{ code: 'token_unauthorized', message: 'Not authorized to access resource' }]);
48+
assert.deepStrictEqual(err.message, 'Not authorized to access resource');
4849
assert.strictEqual(err.headers['x-request-id'], 'b2i3ri5909msvfqskol0');
4950
});
5051
});
@@ -76,6 +77,7 @@ describe('errors', () => {
7677
assert.strictEqual(err.statusCode, 429);
7778
assert.strictEqual(err.body.request_id, 'b2i3mhcboc6pcbe33q80');
7879
assert.deepStrictEqual(err.body.errors, [{ code: 'rate_limit_exceeded', message: 'Exceeded rate limit of 83 in 10_seconds' }]);
80+
assert.deepStrictEqual(err.message, 'Exceeded rate limit of 83 in 10_seconds');
7981
assert.strictEqual(err.headers['x-request-id'], 'b2i3mhcboc6pcbe33q80');
8082
assert.strictEqual(err.headers['x-ratelimit-reset'], '1522849880');
8183
});
@@ -204,6 +206,7 @@ describe('errors', () => {
204206
assert.strictEqual(err.statusCode, 401);
205207
assert.strictEqual(err.body.request_id, 'b2i3ri5909msvfqskol0');
206208
assert.deepStrictEqual(err.body.errors, [{ code: 'token_unauthorized', message: 'Not authorized to access resource' }]);
209+
assert.deepStrictEqual(err.message, 'Not authorized to access resource');
207210
assert.strictEqual(err.headers['x-request-id'], 'b2i3ri5909msvfqskol0');
208211

209212
done();
@@ -237,6 +240,7 @@ describe('errors', () => {
237240
assert.strictEqual(err.statusCode, 429);
238241
assert.strictEqual(err.body.request_id, 'b2i3mhcboc6pcbe33q80');
239242
assert.deepStrictEqual(err.body.errors, [{ code: 'rate_limit_exceeded', message: 'Exceeded rate limit of 83 in 10_seconds' }]);
243+
assert.deepStrictEqual(err.message, 'Exceeded rate limit of 83 in 10_seconds');
240244
assert.strictEqual(err.headers['x-request-id'], 'b2i3mhcboc6pcbe33q80');
241245
assert.strictEqual(err.headers['x-ratelimit-reset'], '1522849880');
242246

0 commit comments

Comments
 (0)