Loading GitLab/API/Iterator.pm +13 −13 Original line number Original line Diff line number Diff line Loading @@ -148,28 +148,28 @@ sub next_block { return 0; return 0; } } if (!defined $self->{pages_total}) { croak "Response for " . $self->name . " did not contain an array" $self->{pages_total} = $response->header("X-Total-Pages"); unless ref $data eq "ARRAY"; } # if there was no X-Total-Pages, the response is not paginated, blame the user # get total number of pages from the header if (!defined $self->{pages_total}) { if (!defined $self->{pages_total}) { # some requests are not paginated if additional parameters are provided # some requests are not paginated if additional parameters are provided # carp "Iterating over non-paginated request for " . $self->name; # use 1 if there are data, 0 otherwise $self->{pages_total} = 1; my $default = @$data ? 1 : 0; $self->{pages_total} = $response->header("X-Total-Pages") // $default; $self->idebug("total pages $self->{pages_total}"); } } croak "Response for " . $self->name . " did not contain an array" unless ref $data eq "ARRAY"; push @{$self->{data}}, @$data; push @{$self->{data}}, @$data; push @{$self->{responses}}, $response; push @{$self->{responses}}, $response; $self->api->{last} = $response; $self->api->{last} = $response; $self->{count} += scalar @$data; $self->{count} += scalar @$data; ++$self->{pages_read}; $self->{finished} = $self->{pages_read} == $self->{pages_total}; # only increase read pages if there are pages to read ++$self->{pages_read} if $self->{pages_total}; $self->{finished} = !$self->{pages_total} || $self->{pages_read} == $self->{pages_total}; $self->idebug("block read successful"); $self->idebug("block read successful"); $self->idebug("all blocks were read") if $self->{finished}; $self->idebug("all blocks were read") if $self->{finished}; return 1; return 1; Loading Loading
GitLab/API/Iterator.pm +13 −13 Original line number Original line Diff line number Diff line Loading @@ -148,28 +148,28 @@ sub next_block { return 0; return 0; } } if (!defined $self->{pages_total}) { croak "Response for " . $self->name . " did not contain an array" $self->{pages_total} = $response->header("X-Total-Pages"); unless ref $data eq "ARRAY"; } # if there was no X-Total-Pages, the response is not paginated, blame the user # get total number of pages from the header if (!defined $self->{pages_total}) { if (!defined $self->{pages_total}) { # some requests are not paginated if additional parameters are provided # some requests are not paginated if additional parameters are provided # carp "Iterating over non-paginated request for " . $self->name; # use 1 if there are data, 0 otherwise $self->{pages_total} = 1; my $default = @$data ? 1 : 0; $self->{pages_total} = $response->header("X-Total-Pages") // $default; $self->idebug("total pages $self->{pages_total}"); } } croak "Response for " . $self->name . " did not contain an array" unless ref $data eq "ARRAY"; push @{$self->{data}}, @$data; push @{$self->{data}}, @$data; push @{$self->{responses}}, $response; push @{$self->{responses}}, $response; $self->api->{last} = $response; $self->api->{last} = $response; $self->{count} += scalar @$data; $self->{count} += scalar @$data; ++$self->{pages_read}; $self->{finished} = $self->{pages_read} == $self->{pages_total}; # only increase read pages if there are pages to read ++$self->{pages_read} if $self->{pages_total}; $self->{finished} = !$self->{pages_total} || $self->{pages_read} == $self->{pages_total}; $self->idebug("block read successful"); $self->idebug("block read successful"); $self->idebug("all blocks were read") if $self->{finished}; $self->idebug("all blocks were read") if $self->{finished}; return 1; return 1; Loading