Fix Galaxy paging review findings
This commit is contained in:
@@ -3,6 +3,7 @@ package mxgateway
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"time"
|
||||
|
||||
@@ -148,6 +149,7 @@ func (c *GalaxyClient) DiscoverHierarchy(ctx context.Context) ([]*GalaxyObject,
|
||||
defer cancel()
|
||||
|
||||
var objects []*GalaxyObject
|
||||
seenPageTokens := make(map[string]struct{})
|
||||
pageToken := ""
|
||||
for {
|
||||
reply, err := c.raw.DiscoverHierarchy(callCtx, &pb.DiscoverHierarchyRequest{
|
||||
@@ -162,6 +164,10 @@ func (c *GalaxyClient) DiscoverHierarchy(ctx context.Context) ([]*GalaxyObject,
|
||||
if pageToken == "" {
|
||||
break
|
||||
}
|
||||
if _, seen := seenPageTokens[pageToken]; seen {
|
||||
return nil, fmt.Errorf("mxgateway: galaxy discover hierarchy returned repeated page token %q", pageToken)
|
||||
}
|
||||
seenPageTokens[pageToken] = struct{}{}
|
||||
}
|
||||
return objects, nil
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user