a2aproject / a2aproject/a2a-dotnet
Provide a way to pass per-request HTTP headers to client methods
- Dominant language
- C#
- Stars
- 262
- Forks
- 64
- Avg merge
- 5d 2h
- Merged PRs (30d)
- 31
Description
For per "session" headers, a HttpClient instance with preconfigured headers can be passed into the constructor of the A2A Client.
https://github.com/a2aproject/a2a-dotnet/blob/aa35e9d66c3448fe83cc6dc2e6b236b7b5af868b/src/A2A/Client/A2AClient.cs#L22
However, for headers that need to be sent for a single request, there currently is no solution. Per-request headers are required for Authentication headers in a multi-user client agent.
## Option 1:
Add a new optional dictionary parameter to each client method that is used to populate the HTTP request headers before calling the server.
## Option 2:
Leverage the metadata property currently defined on request payloads, and possibly use the "extensions" mechanism to define a "https://a2aextensions.com/httpfields" extension that can be processed by the client before sending the request.
Contributor guide
Research direction
Examine the A2AClient constructor and methods in src/A2A/Client/A2AClient.cs to understand the current HTTP client usage. Review how request payloads handle metadata and extensions. Determine where to inject per-request headers, either via a new method parameter or through the existing metadata/extensions mechanism. Test by modifying a client method and verifying headers are sent correctly in a request.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 65/100