Skip to content
This repository was archived by the owner on Mar 4, 2025. It is now read-only.

Commit 3011db5

Browse files
committed
Adds retries for getV2UserProfile(..) to compensate possible backend failures
1 parent cf3e61b commit 3011db5

File tree

2 files changed

+18
-10
lines changed

2 files changed

+18
-10
lines changed

app/services/user.service.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,8 +119,17 @@ import { decodeToken } from 'tc-accounts'
119119
* Temporary end point for getting member's badges/achievements. This endpoint
120120
* should be removed once we have it in v3.
121121
*/
122-
function getV2UserProfile(handle) {
122+
function getV2UserProfile(handle, retryIter) {
123+
retryIter = retryIter || 0
123124
return ApiService.restangularV2.one('users', handle).get()
125+
.catch(function(err) {
126+
// Retry api call once if it fails with 400 or no response
127+
// This is suspected to be a backend bug as error message for 400 usually says 'User not activated'
128+
if ((err.status === 400 || err.status === -1) && retryIter < 2) {
129+
return getV2UserProfile(handle, retryIter + 1)
130+
}
131+
throw err
132+
})
124133
}
125134

126135
function getPreference(prefName) {

package-lock.json

Lines changed: 8 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)