Comparing version 0.3.9 to 0.3.10
@@ -15,48 +15,77 @@ 'use strict'; | ||
return instance.interceptors.response.use(null, function (error) { | ||
var config = error.config; | ||
return instance.interceptors.response.use(null, function () { | ||
var _ref = _asyncToGenerator(regeneratorRuntime.mark(function _callee(error) { | ||
var config, accessDenied, canTry, token; | ||
return regeneratorRuntime.wrap(function _callee$(_context) { | ||
while (1) { | ||
switch (_context.prev = _context.next) { | ||
case 0: | ||
config = error.config; | ||
if (!config) { | ||
return Promise.reject(error); | ||
} | ||
if (config) { | ||
_context.next = 3; | ||
break; | ||
} | ||
config.expiredTokenRetry = config.expiredTokenRetry || 0; | ||
var accessDenied = error.data && error.data.Message && error.data.Message === 'Access denied'; | ||
var canTry = !config.expiredTokenRetry || config.expiredTokenRetry < retries; | ||
return _context.abrupt('return', Promise.reject(error)); | ||
if (error.code !== 'ECONNABORTED' && !accessDenied && error.response.status === 401 && canTry) { | ||
config.expiredTokenRetry += 1; | ||
case 3: | ||
return client.authentication.refresh(client.token).then(function () { | ||
var _ref = _asyncToGenerator(regeneratorRuntime.mark(function _callee(token) { | ||
return regeneratorRuntime.wrap(function _callee$(_context) { | ||
while (1) { | ||
switch (_context.prev = _context.next) { | ||
case 0: | ||
config.headers.Authorization = 'Bearer ' + token.access_token; | ||
_context.next = 3; | ||
return client.callback(token); | ||
config.expiredTokenRetry = config.expiredTokenRetry || 0; | ||
accessDenied = error.data && error.data.Message && error.data.Message === 'Access denied'; | ||
canTry = !config.expiredTokenRetry || config.expiredTokenRetry < retries; | ||
case 3: | ||
return _context.abrupt('return', instance(config)); | ||
case 4: | ||
case 'end': | ||
return _context.stop(); | ||
if (!(error.code !== 'ECONNABORTED' && !accessDenied && error.response.status === 401 && canTry)) { | ||
_context.next = 28; | ||
break; | ||
} | ||
} | ||
}, _callee, _this); | ||
})); | ||
return function (_x2) { | ||
return _ref.apply(this, arguments); | ||
}; | ||
}()).catch(function (e) { | ||
client.logger.error('could not refresh token', e); | ||
throw error; | ||
}); | ||
} | ||
config.expiredTokenRetry += 1; | ||
throw error; | ||
}); | ||
_context.prev = 8; | ||
_context.next = 11; | ||
return client.authentication.refresh(client.token); | ||
case 11: | ||
token = _context.sent; | ||
_context.prev = 12; | ||
_context.next = 15; | ||
return client.callback(token); | ||
case 15: | ||
_context.next = 20; | ||
break; | ||
case 17: | ||
_context.prev = 17; | ||
_context.t0 = _context['catch'](12); | ||
client.logger.error(_context.t0); | ||
case 20: | ||
config.headers.Authorization = 'Bearer ' + token.access_token; | ||
return _context.abrupt('return', instance(config)); | ||
case 24: | ||
_context.prev = 24; | ||
_context.t1 = _context['catch'](8); | ||
client.logger.error('could not refresh token', _context.t1, error); | ||
return _context.abrupt('return', Promise.reject(_context.t1)); | ||
case 28: | ||
return _context.abrupt('return', Promise.reject(error)); | ||
case 29: | ||
case 'end': | ||
return _context.stop(); | ||
} | ||
} | ||
}, _callee, _this, [[8, 24], [12, 17]]); | ||
})); | ||
return function (_x2) { | ||
return _ref.apply(this, arguments); | ||
}; | ||
}()); | ||
} |
{ | ||
"name": "myob", | ||
"version": "0.3.9", | ||
"version": "0.3.10", | ||
"main": "lib/index.js", | ||
@@ -5,0 +5,0 @@ "repository": "git@github.com:ordermentum/myob-javascript-sdk.git", |
31340
448