Skip to content

refactor: drop axios from iceberg rest catalog client#1042

Open
ferhatelmas wants to merge 1 commit intomasterfrom
ferhat/axios-rest-catalog
Open

refactor: drop axios from iceberg rest catalog client#1042
ferhatelmas wants to merge 1 commit intomasterfrom
ferhat/axios-rest-catalog

Conversation

@ferhatelmas
Copy link
Copy Markdown
Member

What kind of change does this PR introduce?

refactor

What is the current behavior?

axios is used in iceberg rest catalog client.

What is the new behavior?

axios is replaced with native fetch.

Additional context

Drop any usage.
Add more test coverage.
Some more resilience via timeout and keep-alive.

Copilot AI review requested due to automatic review settings April 23, 2026 12:27
@ferhatelmas ferhatelmas requested a review from a team as a code owner April 23, 2026 12:27
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Refactors the Iceberg REST catalog client to remove Axios usage in favor of native fetch, while adding a unified request pipeline (URL building, JSONBigint serialization/parsing, auth) and new unit tests covering request behavior.

Changes:

  • Replaced Axios client/interceptors with a fetch-based request() helper (supports query params, JSONBigint, auth, and timeout).
  • Updated SigV4 and bearer auth adapters to work with the new request config shape.
  • Added unit tests validating URL joining, signing behavior, headers, timeouts, and JSONBigint handling.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.

File Description
src/storage/protocols/iceberg/catalog/rest-catalog-client.ts Introduces fetch request pipeline, query param handling, timeout support, and updates auth integration.
src/storage/protocols/iceberg/catalog/rest-catalog-client.test.ts Adds unit tests for URL composition, signing, headers, timeouts, JSONBigint, and error translation.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/storage/protocols/iceberg/catalog/rest-catalog-client.ts
Comment thread src/storage/protocols/iceberg/catalog/rest-catalog-client.test.ts Outdated
@coveralls
Copy link
Copy Markdown

coveralls commented Apr 23, 2026

Coverage Report for CI Build 24835712470

Coverage increased (+1.0%) to 70.992%

Details

  • Coverage increased (+1.0%) from the base build.
  • Patch coverage: 5 uncovered changes across 1 file (54 of 59 lines covered, 91.53%).
  • No coverage regressions found.

Uncovered Changes

File Changed Covered %
src/storage/protocols/iceberg/catalog/rest-catalog-client.ts 59 54 91.53%

Coverage Regressions

No coverage regressions found.


Coverage Stats

Coverage Status
Relevant Lines: 9657
Covered Lines: 7230
Line Coverage: 74.87%
Relevant Branches: 5408
Covered Branches: 3465
Branch Coverage: 64.07%
Branches in Coverage %: Yes
Coverage Strength: 376.58 hits per line

💛 - Coveralls

Signed-off-by: ferhat elmas <elmas.ferhat@gmail.com>
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/storage/protocols/iceberg/catalog/rest-catalog-client.ts
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants