Skip to content

Commit 981f9eb

Browse files
committed
fix: translate TCP errors
fixes #129
1 parent ccb74f8 commit 981f9eb

File tree

2 files changed

+18
-16
lines changed

2 files changed

+18
-16
lines changed

lib/IAMClient.js

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ const http = require('http');
77
const https = require('https');
88
const parseString = require('xml2js').parseString;
99
const queryString = require('querystring');
10+
const Logger = require('werelogs').Logger;
1011

1112
class IAMClient {
1213
/**
@@ -52,6 +53,7 @@ class IAMClient {
5253
}
5354
this.accessKey = accessKey;
5455
this.secretKeyValue = secretKeyValue;
56+
this.logger = new Logger('vaultclient');
5557
}
5658

5759
getServerHost() {
@@ -361,6 +363,7 @@ class IAMClient {
361363
* @returns {undefined}
362364
*/
363365
request(method, path, callback, data, reqUid, logger) {
366+
const log = logger || this.logger;
364367
const options = {
365368
method,
366369
path,
@@ -417,15 +420,12 @@ class IAMClient {
417420
});
418421
});
419422
req.on('error', err => {
420-
if (logger) {
421-
logger.debug('error during request', {
422-
component: 'vaultclient',
423-
method: 'IAMClient:request()',
424-
error: err.stack || err,
425-
});
426-
return callback(errors.InternalError);
427-
}
428-
return callback(err);
423+
log.error('error during request', {
424+
component: 'vaultclient',
425+
method: 'IAMClient:request()',
426+
error: err.stack || err,
427+
});
428+
return callback(errors.InternalError);
429429
});
430430
req.end();
431431
}
@@ -481,10 +481,11 @@ class IAMClient {
481481
* @returns {undefined}
482482
*/
483483
handleResponse(res, ret, log, callback) {
484+
const logger = log || this.logger;
484485
this.getObj(ret, (err, obj) => {
485486
if (err) {
486-
if (log) {
487-
log.error('error from vault',
487+
if (logger) {
488+
logger.error('error from vault',
488489
{ error: err, method: 'IAMClient.handleResponse' });
489490
}
490491
return callback(err, null, res.statusCode);
@@ -496,15 +497,15 @@ class IAMClient {
496497

497498
// Load the error from errors(arsenal)
498499
if (obj && obj.ErrorResponse && obj.ErrorResponse.Error) {
499-
if (log) {
500-
log.debug('error from vault',
500+
if (logger) {
501+
logger.debug('error from vault',
501502
{ error: obj, method: 'IAMClient.handleResponse' });
502503
}
503504
return callback(
504505
errors[obj.ErrorResponse.Error.Code], null, res.statusCode);
505506
}
506-
if (log) {
507-
log.error('unable to translate error from vault', {
507+
if (logger) {
508+
logger.error('unable to translate error from vault', {
508509
error: obj,
509510
method: 'IAMClient.handleResponse',
510511
});

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@
1313
"dependencies": {
1414
"arsenal": "scality/Arsenal#rel/6.2.5",
1515
"commander": "^2.9.0",
16-
"xml2js": "^0.4.16"
16+
"xml2js": "^0.4.16",
17+
"werelogs": "scality/werelogs#rel/6.2.5"
1718
},
1819
"devDependencies": {
1920
"babel-eslint": "^4.1.3",

0 commit comments

Comments
 (0)