Skip to content

Commit

Permalink
fix: adjust logic for pagination
Browse files Browse the repository at this point in the history
  • Loading branch information
shipperizer committed Aug 2, 2024
1 parent 8835e29 commit e852914
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 14 deletions.
29 changes: 17 additions & 12 deletions internal/http/types/token.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,18 +29,9 @@ type TokenPaginator struct {
logger logging.LoggerInterface
}

// LoadFromRequest populates the TokenPaginator struct with pagination tokens from the r request
func (p *TokenPaginator) LoadFromRequest(ctx context.Context, r *http.Request) error {
_, span := p.tracer.Start(ctx, "types.TokenPaginator.LoadFromRequest")
defer span.End()

header := r.Header.Get(PAGINATION_HEADER)

if header == "" {
return nil
}

tokenMap, err := base64.StdEncoding.DecodeString(header)
// LoadFromString populates the TokenPaginator struct with pagination tokens from a string
func (p *TokenPaginator) LoadFromString(ctx context.Context, s string) error {
tokenMap, err := base64.StdEncoding.DecodeString(s)

if err != nil {
p.logger.Errorf("issues decoding header: %s", err)
Expand All @@ -61,6 +52,20 @@ func (p *TokenPaginator) LoadFromRequest(ctx context.Context, r *http.Request) e
return nil
}

// LoadFromRequest populates the TokenPaginator struct with pagination tokens from the r request
func (p *TokenPaginator) LoadFromRequest(ctx context.Context, r *http.Request) error {
_, span := p.tracer.Start(ctx, "types.TokenPaginator.LoadFromRequest")
defer span.End()

header := r.Header.Get(PAGINATION_HEADER)

if header == "" {
return nil
}

return p.LoadFromString(ctx, header)
}

// SetToken sets a pagination token value for the specified type represented by key
// if the pagination token is an empty string, SetToken will be a noop
func (p *TokenPaginator) SetToken(ctx context.Context, key, value string) {
Expand Down
4 changes: 2 additions & 2 deletions pkg/roles/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -594,8 +594,8 @@ func (s *V1Service) GetRoleEntitlements(ctx context.Context, roleId string, para
return nil, v1.NewUnknownError(err.Error())
}

paginator.SetTokens(r.Context(), pageTokens)
metaParam, err := paginator.PaginationHeader(r.Context())
paginator.SetTokens(ctx, pageTokens)
metaParam, err := paginator.PaginationHeader(ctx)
if err != nil {
s.core.logger.Errorf("error producing pagination meta param: %s", err)
metaParam = ""
Expand Down

0 comments on commit e852914

Please sign in to comment.