(primaryFailure, fallbackFailure)
| 202 | } |
| 203 | |
| 204 | function _withFallbackFailure(primaryFailure, fallbackFailure) { |
| 205 | if (!primaryFailure) return fallbackFailure; |
| 206 | if (!fallbackFailure) return primaryFailure; |
| 207 | var primaryCode = String(primaryFailure.code || FORCE_UPDATE_FAIL_CODES.ALL_CHANNELS_EXHAUSTED); |
| 208 | var fallbackCode = String(fallbackFailure.code || FORCE_UPDATE_FAIL_CODES.ALL_CHANNELS_EXHAUSTED); |
| 209 | var terminalCode = 'fallback_' + fallbackCode.replace(/[^a-z0-9_]/gi, '_').toLowerCase(); |
| 210 | var detail = 'primary_failed=' + primaryCode + ' | fallback_failed=' + fallbackCode; |
| 211 | if (fallbackFailure.detail) detail += ': ' + fallbackFailure.detail; |
| 212 | if (primaryFailure.detail) detail += ' | primary_detail=' + primaryFailure.detail; |
| 213 | return _fail(terminalCode, detail); |
| 214 | } |
| 215 | |
| 216 | function _isRetryableFsLockError(e) { |
| 217 | var code = e && e.code; |
no test coverage detected