Skip to content

http plugin interface - #36

Open
YOU54F wants to merge 13 commits into
masterfrom
avro-http
Open

YOU54F wants to merge 13 commits into
masterfrom
avro-http

Conversation

@YOU54F

@YOU54F YOU54F commented Oct 12, 2026

Copy link
Copy Markdown
Owner

No description provided.

adamrodger and others added 13 commits September 14, 2026 11:48
This enables creating a nicer API to expose publicly for use by plugin
wrappers.

See: pact-foundation#492
…ilder

Setting the plugin contents completes a synchronous plugin interaction, so
WithContent now returns void instead of the same builder. The plugin splits
one contents document into the request and its responses itself: a second
call would replace the request but append another response, which is why the
builder no longer allows it. Provider states stay chainable via Given.

Adds unit tests for the plugin request and pact builders and a docs page for
the raw plugin API, linked from the README.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Add a public HTTP plugin pact/request/response API on top of the synchronous plugin prerequisite. Load content plugins through the existing factory, create HTTP rather than synchronous-message interactions, and route plugin contents independently to request and response parts.

Reuse HTTP drivers for methods, paths, headers, queries and status; retain mock-server verification, logging, pact writing and plugin cleanup inside PactNet. Keep native handles and drivers internal. Reject repeated contents and response-stage reuse, validate HTTP status, and preserve header/query indexing.

Add focused tests and HTTP plugin guidance. Asynchronous binary plugin message reification remains a separate contribution. Validation: 60 affected builder tests passed, including existing synchronous and HTTP behavior; the external Avro example passed native request/response and provider/mismatch verification with hominux avro 0.1.3 and FFI 0.4.27.
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.

3 participants