mirror of
https://github.com/ProtonMail/proton-bridge.git
synced 2025-12-10 04:36:43 +00:00
fix(GODT-2822): event loop behaviour on 429.
This commit is contained in:
@ -379,3 +379,12 @@ func is429Error(err error) bool {
|
|||||||
|
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func is429Or5XXError(err error) bool {
|
||||||
|
var apiErr *proton.APIError
|
||||||
|
if errors.As(err, &apiErr) {
|
||||||
|
return apiErr.Status == 429 || apiErr.Status >= 500
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|||||||
@ -778,7 +778,7 @@ func (user *User) doEventPoll(ctx context.Context) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// If the error is a server-side issue, return error to retry later.
|
// If the error is a server-side issue, return error to retry later.
|
||||||
if apiErr := new(proton.APIError); errors.As(err, &apiErr) && apiErr.Status >= 500 {
|
if is429Or5XXError(err) {
|
||||||
return fmt.Errorf("failed to handle event due to server error: %w", err)
|
return fmt.Errorf("failed to handle event due to server error: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user