Skip to content

fix(request): default QUERY to idempotent#48

Merged
ronag merged 2 commits into
masterfrom
codex/default-query-idempotent
Jul 11, 2026
Merged

fix(request): default QUERY to idempotent#48
ronag merged 2 commits into
masterfrom
codex/default-query-idempotent

Conversation

@ronag

@ronag ronag commented Jul 11, 2026

Copy link
Copy Markdown
Member

Summary

  • port the applicable RFC 10008 behavior from upstream feat: support HTTP QUERY method (RFC 10008) nodejs/undici#5459
  • make QUERY idempotent by default alongside GET and HEAD
  • preserve an explicit idempotent: false override
  • prove the default can pipeline beside an in-flight request while the explicit override remains queued

Rebased onto current master after the Blob metadata and header snapshot hardening landed.

Validation

  • QUERY and complete client-pipelining regressions: 18/18 passed
  • Node 26.5.0 with @types/node 26.1.1 declaration/type tests passed
  • ESLint and git diff --check passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Pull request overview

This PR updates Undici’s core Request construction so the RFC 10008 QUERY method is treated as idempotent by default (like GET/HEAD), enabling HTTP/1.1 pipelining unless the caller explicitly sets idempotent: false.

Changes:

  • Default Request#idempotent to true for method: 'QUERY' when idempotent is not provided.
  • Add client-level tests proving QUERY pipelines by default, and remains queued when explicitly overridden with idempotent: false.

Reviewed changes

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

File Description
test/client-query-idempotence.js Adds coverage for default pipelining behavior of QUERY vs. explicit idempotent: false queuing.
lib/core/request.js Extends default idempotency detection to include QUERY.

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

Comment thread test/client-query-idempotence.js
@ronag
ronag force-pushed the codex/default-query-idempotent branch from 0485eb0 to c5d3d48 Compare July 11, 2026 18:40
@ronag
ronag changed the base branch from codex/fix-blob-accessor-errors to master July 11, 2026 18:44

Copilot AI left a comment

Copy link
Copy Markdown

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 no new comments.

@ronag
ronag merged commit 8fd0e6a into master Jul 11, 2026
1 check passed
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.

2 participants