From 9c80150e09ac3961d859fb78b768787c6a9a3edf Mon Sep 17 00:00:00 2001 From: Quentin McGaw Date: Fri, 28 Oct 2022 10:35:09 +0000 Subject: [PATCH] fix(publicip): no retry when too many requests to ipinfo.io --- internal/publicip/runner.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/internal/publicip/runner.go b/internal/publicip/runner.go index d10a458b..5ba1c84a 100644 --- a/internal/publicip/runner.go +++ b/internal/publicip/runner.go @@ -2,10 +2,12 @@ package publicip import ( "context" + "errors" "os" "github.com/qdm12/gluetun/internal/constants" "github.com/qdm12/gluetun/internal/models" + "github.com/qdm12/gluetun/internal/publicip/ipinfo" ) func (l *Loop) Run(ctx context.Context, done chan<- struct{}) { @@ -80,6 +82,11 @@ func (l *Loop) Run(ctx context.Context, done chan<- struct{}) { } l.statusManager.SetStatus(constants.Completed) case err := <-errorCh: + if errors.Is(err, ipinfo.ErrTooManyRequests) { + l.logger.Warn(err.Error()) + l.statusManager.SetStatus(constants.Crashed) + break + } getCancel() close(resultCh) l.statusManager.SetStatus(constants.Crashed)