Conversation
|
| Filename | Overview |
|---|---|
| src/main/java/io/floci/gcp/services/gcs/GcsObjectController.java | Builds a deterministic combined object-prefix result stream and paginates it with the existing page-token mechanism. |
| src/test/java/io/floci/gcp/services/gcs/GcsListFilterRestIntegrationTest.java | Covers combined pagination, trailing-delimiter slots, stable version generation pages, and post-roll-up glob filtering. |
| compatibility-tests/sdk-test-java/src/test/java/io/floci/gcp/test/GcsListFiltersTest.java | Adds SDK-level validation that directory prefixes honor page size and expose continuation tokens. |
Flowchart
%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[List matching objects] --> B[Apply offsets and prefix scope]
B --> C[Roll objects up by delimiter]
C --> D[Filter objects and prefixes by matchGlob]
D --> E[Group objects by name]
E --> F[Sort same-name generations numerically]
F --> G[Merge objects and prefixes into ordered results]
G --> H[Apply maxResults and page token]
H --> I[Emit items, prefixes, and nextPageToken]
Reviews (4): Last reviewed commit: "fix(gcs): paginate object prefixes with ..." | Re-trigger Greptile
52099c9 to
27131d5
Compare
27131d5 to
17e0911
Compare
|
Thank you, and the curl showing It is confirmed by the spec as well as the probe: The two things the doc does not cover, the shared slot for a same-named prefix and object, and each generation taking its own slot, are the ones your capture settles, and both are pinned by the new tests. No blockers from my side. #188 touches the same lines, so whichever lands second will want a small rebase. |
hectorvent
left a comment
There was a problem hiding this comment.
Contract claims confirmed verbatim against the storage v1 reference. Approving the code; needs a rebase now that #188 has landed.
17e0911 to
744d19d
Compare
|
Want your agent to iterate on Greptile's feedback? Try greploops. |
|
@hectorvent Thanks, I rebased this. |
Summary
Applies
maxResultsto the combined object and prefix listing, with one page token covering both result types.Type of change
fix:)feat:)feat!:orfix!:)GCP Compatibility
The behavior was reproduced in real GCS with objects under
a/andb/:Floci previously returned every prefix and no page token because only
items[]participated in pagination. Real GCS was also checked withincludeTrailingDelimiter=true: a same-named prefix and object are both returned whenmaxResults=1, and together consume one result slot. With versioning enabled, each generation remains a separate, generation-ordered result slot while the same-named prefix is returned once, keeping continuation pages stable.Checklist
./mvnw testpasses locally