From 22307239ae62a4cd81e60e5f1319e5ababf7c705 Mon Sep 17 00:00:00 2001 From: Pierre Tachoire Date: Thu, 10 Apr 2025 12:59:09 +0200 Subject: [PATCH] url: accept about:blank --- src/url.zig | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/url.zig b/src/url.zig index b3b7f821..8c4d4368 100644 --- a/src/url.zig +++ b/src/url.zig @@ -13,7 +13,14 @@ pub const URL = struct { // In most cases though, we assume the caller will just dupe the string URL // into an arena pub fn parse(str: []const u8, default_scheme: ?[]const u8) !URL { - const uri = Uri.parse(str) catch try Uri.parseAfterScheme(default_scheme orelse "https", str); + var uri = Uri.parse(str) catch try Uri.parseAfterScheme(default_scheme orelse "https", str); + + // special case, url scheme is about, like about:blank. + // Use an empty string as host. + if (std.mem.eql(u8, uri.scheme, "about")) { + uri.host = .{ .percent_encoded = "" }; + } + if (uri.host == null) { return error.MissingHost; }