diff options
| author | t <t@tjp.lol> | 2026-06-13 11:52:00 -0600 |
|---|---|---|
| committer | t <t@tjp.lol> | 2026-06-15 15:08:32 -0600 |
| commit | 9308feabc045a3afd7eeb304a2324d17d03246df (patch) | |
| tree | c3efa7b54268af94deb0fd00d99a5d53d1f86ac9 /libpanto/src/provider_anthropic_messages.zig | |
| parent | deb4ce4a1a76869771bfcdd758455c49815f0d13 (diff) | |
auth: thread provider extra_headers into request headers (C6)
Add provider.mergeHeaders and use it in both the openai_chat and
anthropic_messages providers so config extra_headers ride on the model
request, merged onto the built-in header set.
Diffstat (limited to 'libpanto/src/provider_anthropic_messages.zig')
| -rw-r--r-- | libpanto/src/provider_anthropic_messages.zig | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/libpanto/src/provider_anthropic_messages.zig b/libpanto/src/provider_anthropic_messages.zig index be4268e..8f5d200 100644 --- a/libpanto/src/provider_anthropic_messages.zig +++ b/libpanto/src/provider_anthropic_messages.zig @@ -96,7 +96,15 @@ pub const AnthropicMessagesRequest = struct { .value = "interleaved-thinking-2025-05-14", }; } - const extra_headers = headers_buf[0 .. if (send_interleaved) @as(usize, 5) else @as(usize, 4)]; + const base_headers = headers_buf[0 .. if (send_interleaved) @as(usize, 5) else @as(usize, 4)]; + // Merge any provider `extra_headers` onto the base set. Freed at the + // end of `open` — after the request body has been flushed. + const extra_headers = try provider_mod.mergeHeaders( + self.allocator, + base_headers, + self.config.extra_headers, + ); + defer self.allocator.free(extra_headers); rr.req = try self.http_client.request(.POST, uri, .{ .extra_headers = extra_headers, |
