From 92511805016d74829fa7f0a5e2331b212c6fa4aa Mon Sep 17 00:00:00 2001 From: Muki Kiboigo Date: Sun, 7 Sep 2025 23:48:23 -0700 Subject: [PATCH] support object as HeadersInit --- src/browser/fetch/Headers.zig | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/browser/fetch/Headers.zig b/src/browser/fetch/Headers.zig index d10a2b1d..557247db 100644 --- a/src/browser/fetch/Headers.zig +++ b/src/browser/fetch/Headers.zig @@ -63,6 +63,8 @@ headers: HeaderHashMap = .empty, pub const HeadersInit = union(enum) { // List of Pairs of []const u8 strings: []const [2][]const u8, + // Mappings + mappings: Env.JsObject, headers: *Headers, }; @@ -80,6 +82,19 @@ pub fn constructor(_init: ?HeadersInit, page: *Page) !Headers { try headers.put(arena, key, value); } }, + .mappings => |obj| { + var iter = obj.nameIterator(); + while (try iter.next()) |name_value| { + const name = try name_value.toString(arena); + const value = Env.Value{ + .js_context = page.main_context, + .value = name_value.value, + }; + const value_string = try value.toString(arena); + + try headers.put(arena, name, value_string); + } + }, .headers => |hdrs| { var iter = hdrs.headers.iterator(); while (iter.next()) |entry| {