Skip to content

feat: support repeated headers per RFC 9110 §5.3 - #39

Draft
YOU54F wants to merge 2 commits into
masterfrom
fix/repeated-headers-rfc9110
Draft

YOU54F wants to merge 2 commits into
masterfrom
fix/repeated-headers-rfc9110

Conversation

@YOU54F

@YOU54F YOU54F commented Oct 28, 2026

Copy link
Copy Markdown
Owner

Summary

  • WithHeader accepts multiple values and per-value matchers for repeated headers (RFC 9110 §5.3).
  • Verify failures throw PactMockServerMismatchException, which exposes the mismatches and the mock server logs.
  • Logs are read once, since reading drains the FFI buffer, and shared between the exception and the output.
  • Builds on the libpact_ffi 0.5.12 upgrade (chore: download pact_ffi 0.5.12 from the dist-built release pact-foundation/pact-net#570).

Test results (pact_ffi from #584)

173 pass. Against released pact_ffi: 160 pass / 12 fail (expected).

Release notes

New members on IRequestBuilder/IResponseBuilder, which break custom implementations.

Depends on

These tests pass against a pact_ffi built from #584 and fail against the released pact_ffi, so this is a draft until #584 is released and the FFI version here is bumped.

Known upstream issue

Per-index header matchers work in the mock server but collapse to a single, randomly chosen rule when the pact file is written (pact_models to_v3_json drops the index). This predates #584; an issue is being drafted for pact-reference.

🤖 Generated with Claude Code

YOU54F and others added 2 commits October 16, 2026 16:46
Update native library downloads and refresh Rust version metadata in
integration fixtures and the Orders API sample pact.

Retain existing repeated-header expectations and pact representations.
WithHeader accepts multiple values with per-value matchers. Verify failures
throw PactMockServerMismatchException exposing the mismatches and mock
server logs; logs are read once since reading drains the FFI buffer.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.

1 participant