Problem
Two parallel pagination implementations exist — pagination/* (Paginator + Page + strategies) and http/paging/* (PagedIterable + PagedResponse + PagingOptions) — with different close semantics. PagedIterable.byPage() leaks a connection unless the caller closes (PagedIterable.kt:100-105).
Proposed change
Collapse to one stack: a single Page<T> + driver, enriched with the links/status/headers that PagedResponse carries. Preserve the max-pages cap, per-page close, and interrupt-aware blocking. Eliminate the byPage leak.
Acceptance
Coordinate with async pagination + exception collapse.
Dependencies
Priority: high · Effort: large
Problem
Two parallel pagination implementations exist —
pagination/*(Paginator + Page + strategies) andhttp/paging/*(PagedIterable + PagedResponse + PagingOptions) — with different close semantics.PagedIterable.byPage()leaks a connection unless the caller closes (PagedIterable.kt:100-105).Proposed change
Collapse to one stack: a single
Page<T>+ driver, enriched with the links/status/headers thatPagedResponsecarries. Preserve the max-pages cap, per-page close, and interrupt-aware blocking. Eliminate the byPage leak.Acceptance
Coordinate with async pagination + exception collapse.
Dependencies
Priority: high · Effort: large