@@ -16,16 +16,25 @@ struct RequestProcessorUtil {
16
16
reportSuccess ( result: result, value: json, successHandler: onSuccess, identifier: identifier)
17
17
}
18
18
. onError { error in
19
- requestProvider ( ) . onSuccess { json in
20
- reportSuccess ( result: result, value: json, successHandler: onSuccess, identifier: identifier)
21
- } . onError { error in
22
- if let onFailure = onFailure {
23
- onFailure ( error. reason, error. data)
24
- } else {
25
- defaultOnFailure ( identifier) ( error. reason, error. data)
19
+ if error. httpStatusCode == 401 , error. iterableCode == JsonValue . Code. invalidJwtPayload {
20
+ ITBError ( " invalid JWT token, trying again: \( error. reason ?? " " ) " )
21
+ authManager? . requestNewAuthToken ( hasFailedPriorAuth: true ) { _ in
22
+ requestProvider ( ) . onSuccess { json in
23
+ reportSuccess ( result: result, value: json, successHandler: onSuccess, identifier: identifier)
24
+ } . onError { error in
25
+ if let onFailure = onFailure {
26
+ onFailure ( error. reason, error. data)
27
+ } else {
28
+ defaultOnFailure ( identifier) ( error. reason, error. data)
29
+ }
30
+ result. reject ( with: error)
31
+ }
26
32
}
33
+ } else if error. httpStatusCode == 401 , error. iterableCode == JsonValue . Code. badApiKey {
34
+ ITBError ( error. reason)
27
35
result. reject ( with: error)
28
36
}
37
+
29
38
}
30
39
return result
31
40
}
0 commit comments