Skip to content

[Fix #1203] Clarify HTTP response headers access in documentation and CTK - #1205

Merged
cdavernas merged 7 commits into
open-workflow-specification:mainfrom
ricardozanini:issues/1203
Nov 5, 2026
Merged

cdavernas merged 7 commits into
open-workflow-specification:mainfrom
ricardozanini:issues/1203

Conversation

@ricardozanini

Copy link
Copy Markdown
Collaborator

Fixes #1203.

Clarifies how HTTP response headers and other response metadata can be accessed in workflow definitions.

Changes:

  • Update dsl-reference.md with an example and a note showing how output: response under with produces the full HTTP response object (including headers), which can then be projected using output.as or export.as
  • Add a CTK scenario in ctk/features/call.feature testing output: response combined with output.as
  • Add examples/call-http-output-headers.yaml demonstrating this pattern

…access in documentation and CTK

- Add an example and note to dsl-reference.md demonstrating how with.output: response can be used to access HTTP response headers and status code via output.as
- Add CTK scenario for HTTP response output with output filtering
- Add examples/call-http-output-headers.yaml workflow example

Signed-off-by: Ricardo Zanini <ricardozanini@gmail.com>
Copilot AI lite review requested due to automatic review settings November 5, 2026 17:58

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

Active critical and moderate issues leave the strict output.as examples and scenario functionally incorrect, with an additional weak header assertion.

4 open issues
What changed in this PR

This pull request documents how workflows can access HTTP response metadata, including headers, by selecting output: response and projecting response fields. It also adds a reusable example and CTK coverage.

Changes:

  • Documents response content and header projections in dsl-reference.md.
  • Adds an example workflow demonstrating HTTP response header access.
  • Adds a CTK scenario covering output: response with output.as.

This pull request requires changes.

File Reviewed changes and findings
examples/​call-http-output-headers.yaml Demonstrates extracting response content and headers. Moderate finding (2 votes): .content and .headers must be wrapped as ${ .content } and ${ .headers } runtime expressions.
dsl-reference.md Documents response metadata access. Moderate finding (2 votes): the example must delimit .content and .headers as ${ .content } and ${ .headers }.
ctk/​features/​call.feature Adds conformance coverage for response filtering. Critical finding (1 vote): object-form output.as values require ${...} delimiters. Nit (2 votes): strengthen the header assertion to verify an actual header value or non-empty headers map.

Review effort: Lite

Comment thread ctk/features/call.feature Resolved
Comment thread dsl-reference.md Resolved
Comment thread examples/call-http-output-headers.yaml Resolved
Comment thread ctk/features/call.feature Resolved
Copilot AI lite review requested due to automatic review settings November 5, 2026 18:01

@cdavernas cdavernas left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

LGTM, aside from Copilot's review

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 Approval recommended

The review status records no active issues remaining for the documented response projections, conformance coverage, and example.

4 open issues

Review effort: Lite

…Type in CTK

Signed-off-by: Ricardo Zanini <ricardozanini@gmail.com>
Copilot AI lite review requested due to automatic review settings November 5, 2026 20:19

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

A moderate conformance-test issue remains because the header assertion assumes one casing for a case-insensitive HTTP header name, potentially rejecting conforming runtimes.

1 open issue
4 resolved since last review

Review effort: Lite

Comment thread ctk/features/call.feature Resolved
Signed-off-by: Ricardo Zanini <ricardozanini@gmail.com>
Copilot AI lite review requested due to automatic review settings November 5, 2026 20:29
Signed-off-by: Ricardo Zanini <ricardozanini@gmail.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🔵 Needs a closer look

The CTK assertion incorrectly requires the exact Content-Type casing even though conforming runtimes may normalize HTTP header names differently, potentially rejecting valid implementations.

1 open issue

Review effort: Lite

Copilot AI lite review requested due to automatic review settings November 5, 2026 20:32

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🔵 Needs a closer look

Human assessment is needed because a moderate hidden compatibility issue in the CTK assertion can cause false failures across conforming runtimes due to case-insensitive HTTP header handling.

1 open issue

Review effort: Lite

Signed-off-by: Ricardo Zanini <ricardozanini@gmail.com>
Copilot AI lite review requested due to automatic review settings November 5, 2026 20:57

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 Approval recommended

No active review issues remain, and the change includes the requested documentation, example workflow, and conformance coverage for HTTP response metadata and header projections.

No open issues 🎉

1 resolved since last review

Review effort: Lite

Copilot AI lite review requested due to automatic review settings November 5, 2026 22:48
@cdavernas
cdavernas merged commit 3e2eefc into open-workflow-specification:main Nov 5, 2026
3 of 4 checks passed

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟢 Approval recommended

The review records no active issues, with the documentation and added CTK coverage supporting the intended HTTP response projection update.

No open issues 🎉

Review effort: Lite

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.

Access to HTTP output headers

3 participants