Skip to content

feat(flow-php/etl-adapter-http): declarative pagination-aware extraction#2547

Merged
norberttech merged 1 commit into
1.xfrom
http-adpater-extractors
Jul 24, 2026
Merged

feat(flow-php/etl-adapter-http): declarative pagination-aware extraction#2547
norberttech merged 1 commit into
1.xfrom
http-adpater-extractors

Conversation

@norberttech

Copy link
Copy Markdown
Member

Change Log


Added

  • flow-php/etl-adapter-http - declarative from_http_paginated extractor with page-number, offset/limit, cursor, next-url, link-header and last-record strategies
  • flow-php/etl-adapter-http - composable stop conditions and pluggable request injection (query/header/body/uri) for pagination
  • flow-php/etl-adapter-http - optional Schema argument on all HTTP extractor DSL functions

Fixed

Changed

  • flow-php/etl-adapter-http - response body is decoded once (content-type aware, JSON + XML) into typed rows
  • flow-php/etl-adapter-http - ContentTypeDetector broadened to text/xml and +xml/+json suffixes
  • flow-php/etl-adapter-http - require flow-php/array-dot and psr/http-factory

Removed

  • flow-php/etl-adapter-http - RequestEntriesFactory and ResponseEntriesFactory

Deprecated

Security

- add from_http_paginated with page-number, offset/limit, cursor,
next-url, link-header, last-record strategies
- pluggable injection (query/header/body/uri) and composable stop
conditions
- decode body once (content-type aware, JSON + XML) into typed rows via
Encoder/Hydrator
- broaden ContentTypeDetector to text/xml and +xml/+json suffixes
- withSchema on all extractors; require flow-php/array-dot and
psr/http-factory
@norberttech norberttech added this to the 0.42.0 milestone Jul 24, 2026
@codecov

codecov Bot commented Jul 24, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 89.01602% with 48 lines in your changes missing coverage. Please review.
✅ Project coverage is 86.40%. Comparing base (771941c) to head (d7bd0b6).
⚠️ Report is 2 commits behind head on 1.x.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@             Coverage Diff              @@
##                1.x    #2547      +/-   ##
============================================
- Coverage     86.45%   86.40%   -0.05%     
- Complexity        0    23495   +23495     
============================================
  Files          1772     1800      +28     
  Lines         71001    71396     +395     
============================================
+ Hits          61383    61693     +310     
- Misses         9618     9703      +85     
Components Coverage Δ
etl 90.37% <ø> (ø)
cli 89.40% <ø> (ø)
lib-array-dot 81.44% <ø> (ø)
lib-azure-sdk 64.44% <ø> (ø)
lib-doctrine-dbal-bulk 93.61% <ø> (ø)
lib-filesystem 86.64% <ø> (ø)
lib-types 91.58% <ø> (+0.42%) ⬆️
lib-parquet 70.23% <ø> (ø)
lib-parquet-viewer 82.26% <ø> (ø)
lib-snappy 89.38% <ø> (ø)
lib-dremel 0.00% <ø> (ø)
lib-postgresql 88.62% <ø> (ø)
lib-telemetry 86.58% <ø> (ø)
bridge-filesystem-async-aws 92.74% <ø> (ø)
bridge-filesystem-azure 90.45% <ø> (ø)
bridge-monolog-http 96.82% <ø> (ø)
bridge-monolog-telemetry 94.79% <ø> (ø)
bridge-openapi-specification 92.07% <ø> (ø)
symfony-http-foundation 78.57% <ø> (ø)
bridge-psr18-telemetry 100.00% <ø> (ø)
bridge-psr3-telemetry 98.95% <ø> (ø)
bridge-psr7-telemetry 100.00% <ø> (ø)
bridge-telemetry-otlp 90.41% <ø> (ø)
bridge-symfony-http-foundation-telemetry 92.85% <ø> (ø)
bridge-symfony-filesystem-bundle 91.85% <ø> (ø)
bridge-symfony-filesystem-cache 98.18% <ø> (ø)
bridge-symfony-postgresql-bundle 93.70% <ø> (ø)
bridge-symfony-postgresql-cache 94.41% <ø> (ø)
bridge-symfony-postgresql-messenger 98.80% <ø> (ø)
bridge-symfony-postgresql-session 93.65% <ø> (ø)
bridge-symfony-telemetry-bundle 90.10% <ø> (ø)
adapter-chartjs 84.05% <ø> (ø)
adapter-csv 89.46% <ø> (ø)
adapter-doctrine 90.75% <ø> (ø)
adapter-google-sheet 91.56% <ø> (ø)
adapter-http 75.79% <89.01%> (+2.55%) ⬆️
adapter-json 87.30% <ø> (ø)
adapter-logger 50.00% <ø> (ø)
adapter-parquet 88.69% <ø> (ø)
adapter-text 92.59% <ø> (ø)
adapter-xml 83.56% <ø> (ø)
adapter-avro 0.00% <ø> (ø)
adapter-excel 86.72% <ø> (ø)
adapter-postgresql 90.84% <ø> (ø)
adapter-seal 83.26% <ø> (ø)
bridge-phpunit-postgresql 75.30% <ø> (ø)
bridge-phpunit-telemetry 87.32% <ø> (ø)
bridge-phpstan-types 0.00% <ø> (ø)
bridge-postgresql-valinor 100.00% <ø> (ø)
🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@norberttech
norberttech merged commit 462021e into 1.x Jul 24, 2026
47 of 48 checks passed
@norberttech
norberttech deleted the http-adpater-extractors branch July 24, 2026 17:02
@github-project-automation github-project-automation Bot moved this from Todo to Done in Roadmap Jul 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant