Skip to content

Commit bc5a1d7

Browse files
authored
Merge pull request #212 from guggero/catch-server-error
zombierecovery: catch another server error for re-try
2 parents 07b6e9f + 8ad14d0 commit bc5a1d7

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

cmd/chantools/zombierecovery_findmatches.go

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -379,7 +379,7 @@ func fetchChannels(client *graphql.Client, pubkey string) ([]*gqChannel,
379379
var query gqGetNodeQuery
380380
err := client.Query(context.Background(), &query, variables)
381381
if err != nil {
382-
if strings.Contains(err.Error(), "Too many requests") {
382+
if isServerErr(err) {
383383
time.Sleep(1 * time.Second)
384384
continue
385385
}
@@ -401,6 +401,24 @@ func fetchChannels(client *graphql.Client, pubkey string) ([]*gqChannel,
401401
return channels, nil
402402
}
403403

404+
func isServerErr(err error) bool {
405+
if err == nil {
406+
return false
407+
}
408+
409+
errStr := err.Error()
410+
switch {
411+
case strings.Contains(errStr, "Too many requests"):
412+
return true
413+
414+
case strings.Contains(errStr, "error code: 520"):
415+
return true
416+
417+
default:
418+
return false
419+
}
420+
}
421+
404422
func identifyPeer(channel *gqChannel, node1 string) string {
405423
if channel.Node1 == node1 {
406424
return channel.Node2

0 commit comments

Comments
 (0)