From 1dab607369492f566cac4b59ab9983fd8a9538f9 Mon Sep 17 00:00:00 2001 From: Muki Kiboigo Date: Wed, 9 Jul 2025 15:35:02 -0700 Subject: [PATCH] add set_pathname on URL --- src/browser/url/url.zig | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/browser/url/url.zig b/src/browser/url/url.zig index 1b6e2c86..38fde39d 100644 --- a/src/browser/url/url.zig +++ b/src/browser/url/url.zig @@ -229,6 +229,19 @@ pub const URL = struct { pub fn _toJSON(self: *URL, page: *Page) ![]const u8 { return self.get_href(page); } + + pub fn set_pathname(self: *URL, fragment: []const u8, page: *Page) !void { + // pathname must always start with a '/'; + const real_path = blk: { + if (std.mem.startsWith(u8, fragment, "/")) { + break :blk try page.arena.dupe(u8, fragment); + } else { + break :blk try std.fmt.allocPrint(page.arena, "/{s}", .{fragment}); + } + }; + + self.uri.path = .{ .percent_encoded = real_path }; + } }; // uriComponentNullStr converts an optional std.Uri.Component to string value.